【发布时间】:2014-05-24 04:22:58
【问题描述】:
我在 Windows Azure 上有一个在线数据库。我想连接到数据库并在 Microsoft Silverlight 中显示一些表。我创建了一个 Silverlight 应用程序并将网站发布到 Azure here!
如何在 Silverlight 中连接到我的 SQL Azure 数据库?
【问题讨论】:
标签: silverlight azure azure-sql-database silverlight-5.0
我在 Windows Azure 上有一个在线数据库。我想连接到数据库并在 Microsoft Silverlight 中显示一些表。我创建了一个 Silverlight 应用程序并将网站发布到 Azure here!
如何在 Silverlight 中连接到我的 SQL Azure 数据库?
【问题讨论】:
标签: silverlight azure azure-sql-database silverlight-5.0
与连接到任何其他数据库的方式相同! 就个人而言,我使用 EntityFramework 并创建自己的服务。如果您愿意,可以使用 EF 和 RIA 服务为您创建大量代码。
将实体模型添加到您的项目,从现有数据库创建,指向您的 Azure 数据库,工作完成。请记住在开发时将现有 IP 添加到 Azure 防火墙。
编辑: 请尝试按照本教程进行操作: http://msdn.microsoft.com/en-us/library/ee707376(v=vs.91).aspx 但是要注意一件事。当您进入添加 DomainService 的步骤时,如果它没有获取您的上下文,您将需要按照此处列出的步骤进行操作: http://support.microsoft.com/kb/2745294 ... 这很容易理解。删除TT文件,将模型代码生成策略从none改为default。
【讨论】:
您可以做的一件事是创建一个 WCF 项目,它将充当您在 Azure 中的 Web 角色。
理想情况下,您的解决方案中可能有 2-3 个项目: 1) Silverlight 项目(表示层) 2)WCF项目(业务层) 3) 用于 Sql 连接(数据层)的 C# 类项目
您可以做的是使用 C# .Net 库让 Sql 连接到您的数据库。您可以执行存储过程(可以传入变量),这些过程缓存在内存中以获得更快的长期性能,也可以执行字符串变量中的 Sql 查询,以在自定义查询中提取您想要的确切信息。这将返回到 WCF 项目,您可以在其中执行任何自定义业务逻辑,并且您可以开始将数据打包到类对象中。这些对象可以通过服务引用传回 Silverlight,您可以使用许多熟悉的 Silverlight 工具来显示您的信息。
上述建议可能比其他建议更深入,但在您确实需要控制数据并需要应用业务逻辑的情况下,这是一个好方法。
【讨论】:
据我所知,将 SQL 数据库连接到 Silverlight 应用程序的最简单方法是使用 Visual Studio LightSwitch 项目。有很多关于如何做到这一点的帖子 - http://blogs.msdn.com/b/lightswitch/。基本上,如果您制作一个 LightSwitch 应用程序(在 VS Professional SKU 及更高版本中可用),它会为您提供几个屏幕模板供您选择,它们都是 Silverlight(或 HTML 5,如果您选择)。然后,您可以“附加”到现有的 SQL 数据库,例如 SQL Azure。并围绕 SQL 数据制作浏览或编辑屏幕。 您可以选择为自己的 SQL 数据库建模,然后将其“发布”到 SQL Azure。
您也可以在不编写任何代码的情况下完成所有这些操作,并提供一些良好的基本功能。
HTH - 马特
【讨论】: