WCF数据服务或实体框架

时间:2011-01-23 10:43:30

标签: wcf entity-framework wcf-data-services

我必须开发一个应用程序来在DB中存储一些平面文件。控制台应用程序和SQL Server将在同一台机器上,这两个选项中哪一个最好?

  • 创建WCF数据服务并从控制台应用程序中使用
  • 直接使用控制台应用程序中的实体框架实体

通常,何时使用WCF数据服务或实体框架更好?

谢谢!

1 个答案:

答案 0 :(得分:22)

这两种完全不同的技术:

  • 实体框架是一个OR映射器,可以让您更轻松地访问数据库;你可以将它与例如NHibernate,Linq-to-SQL,亚音速,基因组或其他OR映射器

  • WCF数据服务是一种通过HTTP / REST向外界公开数据模型的方法;将其与传统ASMX Web服务,纯WCF服务,其他服务技术

  • 进行比较

你无法比较两者 - 它们是完全不同的野兽,在许多解决方案中,它们将一起工作 - 一个不能取代另一个。

如果您有一个需要从数据库中读取数据的控制台应用程序,您可以直接使用实体框架 - 在这种情况下,您的控制台应用程序必须与数据库直接连接,并且它与实体框架技术相关联

使用WCF数据服务公开数据的选项会添加另一个层 - 您的控制台应用程序不会直接访问数据,而只是调用WCF数据服务。现在你基本上有两个部分:你的控制台应用程序作为客户端,以及某种提供数据的服务应用程序。在这种情况下,您的客户端不需要了解任何有关实体框架或类似内容的信息 - 您也可以轻松添加第二个客户端,例如一个网络应用程序但是,提供数据的服务应用程序仍然需要能够使用Entity Framework直接连接到数据库。

所以最后,你并没有真正用WCF数据服务替换实体框架 - 你只是添加了另一层间接,但最后,为了获取数据,你仍然需要某种数据访问技术(如实体框架)。