WCF数据服务或实体框架

问题描述:

我不得不开发存储在数据库中的一些平面文件在同一台机器上的应用程序。该控制台应用程序和SQL Server会,其中这两个选项是最好的?WCF数据服务或实体框架

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

一般来说,使用它时,它是更好地使用WCF数据服务或实体框架?

谢谢!

+1

是啊,这是苹果和橙子和每个解决不同的问题。如果只有一个应用程序将它用于ETL数据,WCF数据服务似乎不太适合。 – 2011-01-23 12:42:32

这是两个完全不同技术:

  • 实体框架是一个OR映射器,使您的数据库访问更方便;您可以将其与例如NHibernate,Linq-to-SQL,Subsonic,Genome或其他OR映射程序

  • WCF数据服务是一种通过HTTP/REST向外界展示数据模型的方法;比较这对传统的ASMX web服务,纯WCF服务,其他服务技术

你不能比较两个 - 他们是完全不同的东西,而且在许多解决方案,他们将共同努力 - 一个不能取代其他。

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

曝光使用WCF数据服务的数据的选项增加了另一层 - 您的控制台应用程序不直接访问数据,但它只是调用WCF数据服务。现在,您基本上有两部分:您的控制台应用程序作为客户端,以及某种可提供数据的服务应用程序。在这种情况下,你的客户不需要知道任何关于实体框架或类似的东西 - 你也可以很容易地添加第二个客户端,一个Web应用程序。但是提供数据的服务应用程序仍然需要能够使用实体框架直接连接到数据库。因此,最终,你并不是真的用WCF数据服务取代实体框架 - 你只是增加了另一个间接层,但最后,为了获得数据,你仍然需要某种数据访问技术(如实体框架)。

+0

非常感谢!现在很清楚.. – andrew0007 2011-01-23 14:02:23