0

我正在基于旧版 SQL Server 的系统上创建 Web 服务层。这是一个非常庞大且复杂的业务应用程序,其中包含大量执行 SELECT 语句的存储过程。这些存储过程中的大多数会连接许多表并生成单个结果集,以便客户端轻松使用。

在构建我的 web 服务时,我想利用 EF,并使用 Code First 方法,我 80% 的用例可以通过将直接映射到表来实现。但是,我有许多用例需要存储过程提供的数据的跨数据视图。正如我所看到的,我有 3 个选项:

  1. 创建表示存储过程返回的新 POCO,并将它们链接到现有存储过程(让 SQL 执行连接并重用现有代码)
  2. 创建看起来像存储过程返回的新 POCO,但通过与其他 EF 实体关联来填充自己(让 EF 做 jons)
  3. 在 LINQ 中以某种方式连接

人们认为在这种情况下什么是最佳实践,我猜我们大多数人每天都会遇到这种情况?

谢谢,安迪

4

1 回答 1

0

那里有很多好书。朱莉勒曼的任何东西......这是最近的http://www.apress.com/9781430257882

使用 Navigation 属性,您可以在没有老式连接的情况下完成大多数事情。

所以4)在Linq中做,让EF做连接。 使用导航属性。您可以进行许多逻辑连接,甚至可以避免使用 join 关键字。

这个博客展示了没有连接语法的 LINQ 会导致数据库级别的连接是多么容易以及为什么。 http://blog.staticvoid.co.nz/2012/7/17/entity_framework-navigation_property_basics_with_code_first

于 2013-07-31T12:55:20.767 回答