我有一个带有连接的SQL查询。我想使用Linq。有人建议我避免使用连接,而使用Linq include。如何使用Linq include合并实体?还有比联合更好的方法吗?
谢谢
发布于 2011-04-01 20:11:50
LINQ to SQL将LINQ语法转换为SQL查询。如果查询需要联接,那么LINQ to SQL将实际执行一个SQL查询,并对数据库执行联接。您可能获得的优势是,LINQ to SQL查询可能比您编写的查询更优化。
如果您不熟悉LINQ的使用,并且您有一个可以正常工作的应用程序,那么通过添加一个额外的抽象层(LINQ),您可能不会获得除了复杂性之外的任何东西。也就是说,LINQ是一个优秀而强大的工具。然而,这并没有改变这句格言的真相:“如果它没有坏,就不要修复它。”
基本上,您要考虑的是将应用程序的数据访问过程从
app -> SQL Query with Joins -> data objects
至
app -> LINQ Query with Joins -> SQL Query with Joins -> data objects
我精通这两种方法,我认为编写LINQ查询要比编写SQL查询容易得多。(您将获得强类型模型和智能感知)。但是,如果您只知道SQL,那么编写SQL查询要比学习LINQ和编写LINQ查询容易得多。
请注意,LINQ还支持joins。这里有一篇关于在LINQ:http://odetocode.com/Blogs/scott/archive/2008/03/25/inner-outer-lets-all-join-together-with-linq.aspx中使用连接的文章。
https://stackoverflow.com/questions/5512633
复制相似问题