将Windows Phone和Windows 8应用程序连接到SQL Server

将Windows Phone应用程序或Windows 8应用程序直接连接到SQL Server的最佳方法是什么?

应用程序不得使用代理/ IIS等,并希望使用SQL直接连接,就像使用普通的桌面应用程序一样。

谢谢。

由于Metro-Apps-Sandbox概念,您无法直接连接到SQL Server。 他们只能通过服务与服务器通信。 我所知道的唯一解决此限制的方法是将SQLite集成到Windows 8应用程序中。

在我看来,最好的方法(如果你使用Visual Studio)是EntityFramework 。 它在开始时似乎有点复杂,但ORM在开发过程中确实有帮助(通过intellisens减少错误,防止注入更安全)。 然后将其包装到WCF数据服务中 ,您就可以在应用程序中使用任何SQL数据库了。

entity framework使开发人员能够以特定于域的对象和属性(如客户和客户地址)的forms处理数据,而无需关心存储此数据的基础数据库表和列。 使用entity framework,开发人员在处理数据时可以在更高的抽象级别工作,并且可以使用比传统应用程序更少的代码创建和维护面向数据的应用程序

您可以通过两种方式做出决定:

  1. 模型优先 – 在Visual Studio或SQL Server Management Studio中设计数据库
  2. 代码优先 – 根据类设计数据库

但是有一些缺点:

  • 如果您使用Windows Azure,则由于对Azure数据库的某些限制,您无法使用n:m relationship direct。
  • 您需要为Windwos 8开发调用数据库异步。 因此,旧的客户端使用EF和Windows 8中的新用途之间总会存在一些混淆。

这是EF-Project的页面。 你应该从那里开始潜入它。