Linq包含在MVC应用程序中

时间:2011-04-01 11:18:32

标签: linq linq-to-sql

我有一个带连接的SQL查询。我想用Linq。有人建议我避免加入并使用Linq include。如何使用Linq包含实体组合?有没有比加入更好的方式?

由于

1 个答案:

答案 0 :(得分:0)

LINQ to SQL将LINQ语法转换为SQL查询。如果查询需要Join,那么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查询容易得多。 (你得到强类型模型和Intellisense)。但是,如果您只了解SQL,那么编写SQL查询比学习LINQ和编写LINQ查询要容易得多。

请注意,LINQ也支持连接。这是一篇关于在LINQ中使用连接的文章:http://odetocode.com/Blogs/scott/archive/2008/03/25/inner-outer-lets-all-join-together-with-linq.aspx