是否可以从LINQ查询中提取sql语句?
说,我有这个LINQ表达式.
string[] names =
new string[] { "Jon Skeet", "Marc Gravell", "tvanfosson",
"cletus", "Greg Hewgill", "JaredPar" };
var results = from name in names
where name.StartsWith("J")
select name;
Run Code Online (Sandbox Code Playgroud)
alt text http://ruchitsurati.net/files/linq-debugging.png
在此语句之后,'results'仅保留LINQ表达式而不是由于延迟执行LINQ查询而导致的结果.
我可以从'结果'中提取或生成LINQ查询,并从存储在'LINQ'中的查询中准备一个有效的SQL语句吗?
这是我的目标:
我们已经编写了自己的ORM.我们每次需要进行数据库操作时都必须编写查询.现在我们需要在DAL摆脱它.我们希望在代码中编写LINQ表达式,它将针对我的ORM生成SQL语句,我们将在数据库上执行此SQL.
我是否愿意编写我的定制Linq提供商来做我需要的事情?