WCF 数据服务或实体框架

发布于 2024-10-13 20:30:22 字数 198 浏览 7 评论 0原文

我必须开发一个应用程序来在数据库中存储一些平面文件。控制台应用程序和 SQL Server 将位于同一台计算机上,这两个选项中哪一个是最好的?

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

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

谢谢!

I have to develop an application to store some flat files in the DB.. The Console application and the SQL Server will be on the same machine, which of these two options is the best?

  • Create WCF Data Services and use it from the console app
  • Use directly the Entity Framework entities from the console app

Generally, when it is better to use WCF Data Services or Entity Framework?

THANKS!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

宣告ˉ结束 2024-10-20 20:30:27

这是两种完全不同的技术:

  • 实体框架是一个 OR 映射器,可以让您的数据库访问更轻松;您可以将其与 NHibernate、Linq-to-SQL、Subsonic、Genome 或其他 OR 映射器进行比较

  • WCF 数据服务是一种通过 HTTP/REST 将数据模型公开给外界的方法;将此与传统的 ASMX Web 服务、纯 WCF 服务、其他服务技术进行比较

您无法将两者进行比较 - 它们是完全不同的野兽,并且在许多解决方案中,它们将一起工作 - 一个无法替代另一个。

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

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

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

Those are two totally different technologies:

  • Entity Framework is an OR mapper to make your database access easier; you can compare this to e.g. NHibernate, Linq-to-SQL, Subsonic, Genome, or other OR mappers

  • WCF Data Services is a way to expose your data models to the outside world over HTTP/REST; compare this to legacy ASMX webservices, pure WCF services, other service technologies

You cannot compare the two - they're totally different beasts, and in many solutions, they will be working together - one cannot replace the other.

If you have a console app that needs to read data from a database, you can either use Entity Framework directly - in that case, your console app must have a direct connection to the database, and it's tied to the Entity Framework technology.

The option of exposing the data using a WCF Data Service adds another layer - your console app doesn't access the data directly, but it just calls a WCF Data Service. Now you basically have two parts: your console app as the client, and some kind of a service app that will provide the data. In that case, your client doesn't need to know anything about Entity Framework or anything like that - you could also easily add a second client, e.g. a web app. But the service app that provides the data will still need to be able to directly connect to the database using Entity Framework.

So in the end, you're not really replacing Entity Framework with WCF Data Services - you're just adding another layer of indirection, but in the end, to get at the data, you still need some kind of data access technology (like Entity Framework).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文