【问题标题】:Should I switch from Web Services to Entities to do my SQL data manipulation?我应该从 Web 服务切换到实体来进行 SQL 数据操作吗?
【发布时间】:2010-10-15 21:16:36
【问题描述】:

我在 .net 环境中有许多 Web 应用程序项目,它们使用我的 DBA 创建的 Web 服务来选择、更新和删除我的 SQL 数据库中的数据。

我的 DBA 建议他将来会继续为新项目创建新的 Web 服务接口。我知道这个过程在性能方面有些低效。我认为他喜欢这样,因为这让他可以更好地控制数据库,毕竟这是他的责任。

我想知道实体是否通常是与我的 SQL 数据库通信的更有效方式。

有没有足够熟悉这两种方法的人告诉我将来哪一种更适合使用?为什么?

【问题讨论】:

    标签: .net sql entity-framework linq-to-entities


    【解决方案1】:

    您可以通过 WCF 数据服务(以前称为 ADO.NET 数据服务)公开 EF 实体,该服务是服务器和客户端库的集合,可简化使用 OData 协议创建和使用基于 REST 的 Web 服务。因此,使用 EF 并不妨碍您使用 Web 服务。两者真的没有可比性。 EF 是一个 ORM 工具。 Web 服务是您访问数据对象的一种方式,无论后者采用何种形式。

    WCF 数据服务非常强大,我建议你使用它们,只有在你有理由的情况下。您需要考虑您的目标:您是否仅在内部使用您的应用程序?那么你可能不需要网络服务。或者您是否会有多个通过 Internet 访问您的数据库的客户端?然后网络服务出现在菜单上。

    【讨论】:

    • @anthony,网络服务调用都是严格在内部完成的。
    • 好吧,如果您直接调用数据层而不通过 Web 服务,您肯定会有更多的控制权。 EF 和 Linq to SQL 都有一些开销,但我怀疑这是否足以抵消您通过切断 Web 服务获得的性能提升。因此,我会将 DAL/BLL 自己放在类库中,并直接在您的项目中引用它们。如果需要,您可以稍后将 WCF 数据服务覆盖在这些之上。
    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 2015-12-15
    相关资源
    最近更新 更多