我是ASP.NET n00b,我在ASP.NET书中读到,当您编译项目时,您的C#LINQ代码将变成实际的SQL查询。我在互联网上找不到任何东西可以验证这一点;但是,如果是真的,我想知道存储过程是否是从LINQ查询创建的;如果没有,LINQ的意义何在?我感到困惑的是,为什么一个会写SQL的人会花时间学习一些“有效的C#,看起来像SQL但不是完全的SQL”……
我看到了一个相关的线程LINQ queries vs Stored procedures,但它是在2011年编写的。
最佳答案
不,对数据库的LINQ查询不会转换为存储过程。如果基础数据库语言是SQL,例如SQL Server / Oracle,则会将它们转换为SQL。
您将ORM和LINQ混淆了。 LINQ不仅仅是查询数据库。它还与查询诸如arrays/List<T>
(IEnumerable<T>
)之类的常规集合有关。