我正在基于旧版SQL Server的系统上创建一个Web服务层。它是一个非常庞大和复杂的业务应用程序,它有大量执行SELECT语句的存储过程。大多数这些存储过程都会连接多个表并生成一个结果集,以便客户轻松使用。
在构建我的web服务时,我想利用EF,并使用Code First方法,通过将direclty映射到表,可以实现80%的用例。但是,我有许多用例,我需要存储过程提供的数据交叉视图。在我看来,我有3个选择:
在这种情况下,人们认为最佳做法是什么,我想我们大多数人每天都会遇到这种情况?
谢谢, 安迪
答案 0 :(得分:0)
使用导航属性,您可以在没有旧式连接的情况下执行大多数操作。
所以4)在Linq中做,让EF做联接。 使用导航属性。你可以做很多逻辑连接,甚至避免使用join关键字。
此博客显示了没有连接语法的LINQ在数据库级别的连接有多简单和原因。 http://blog.staticvoid.co.nz/2012/7/17/entity_framework-navigation_property_basics_with_code_first