2013-07-31 38 views
0

我正在基于旧版SQL Server的系统上创建Web服务层。这是一个相当大且复杂的业务应用程序,它有大量执行SELECT语句的存储过程。大多数这些存储过程会加入许多表并生成一个结果集,以便客户轻松使用。实体框架中的代码优先加入选项5

在构建我的webservice中,我想利用EF,并使用Code First方法,通过将direclty映射到表,可以实现80%的用例。不过,我有很多用例,我需要存储过程提供的数据的交叉视图视图。当我看到它,我有3种选择:

  1. 创建代表存储过程返回并链接这些现有的存​​储过程的新波苏斯(让SQL做的加入和再利用exisitng代码)
  2. 创建新波苏斯看起来像存储过程返回,但填充自己关联来行吟诗人EF实体(让EF做JONS)
  3. 执行在LINQ莫名其妙地加入

什么人认为是在这样的情况下的最佳实践这个,我想我们大多数人都是在迎接前夕ryday?

感谢, 安迪

回答

0

很多好书在那里。任何来自Julie Lerman的...这是最近的http://www.apress.com/9781430257882

使用导航属性,你可以做大多数事情,没有老式的连接。

所以4)在Linq中做,让EF做联接。 使用导航属性。你可以做很多逻辑连接,甚至可以避免连接关键字。

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