整个问题已被重写以更清楚..
新项目设计:
- 数据库服务器 2012
- 视觉工作室 2012 .Net 4.5
- 业务逻辑将在存储过程中实现
- ASP.Net 网络表单
- WCF SOAP XML Web 服务使用 DBA 提供的存储过程与数据库进行通信
- 实体框架或数据集
在这里我可以使用 Dataset - 没问题,但我想在更详细的解释中了解 Entity Framework 相对于 Dataset 的优势。我一直在阅读有关实体框架的文章,并且由于以下原因,我看到人们在数据集上使用 EF 的体验更好。
我想知道这些是否仍然是在我的案例中使用 EF 可以获得的优势 - 与数据库相关的操作总是通过存储过程完成:
EF 更干净,更容易维护和编程。针对 EF ObjectContext 的查询始终针对数据库执行
因为您的对象和数据库之间的映射是通过声明而不是在代码中指定的,所以如果您需要更改数据库模式,您可以最大限度地减少对您必须在应用程序中修改的代码的影响——因此系统提供了一个级别抽象有助于将应用程序与数据库隔离。因此,EF 可以替换您必须自己编写和维护的大量代码。(如果存储过程设计已更改怎么办?)
EF 专门用于将映射查询/塑造结果的过程与构建对象和跟踪更改分开。
数据集很糟糕,尤其是在 WCF 场景中(它们为处理内存中的数据操作增加了很多开销)-> 意味着带有 WCF 的 EF 性能更好?