【发布时间】:2010-01-08 05:25:30
【问题描述】:
是否可以从 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;
alt text http://ruchitsurati.net/files/linq-debugging.png
在此语句之后,“结果”仅包含 LINQ 表达式,而不是由于延迟执行 LINQ 查询而导致的结果。
我可以从“结果”中提取或生成 LINQ 查询吗? 准备一个有效的 SQL 语句 查询存储在“LINQ”中?
编辑
这是我的目标:
我们已经编写了自己的 ORM。每次需要进行数据库操作时,我们都必须编写查询。现在我们需要在 DAL 摆脱它。我们希望在代码中编写 LINQ 表达式,它将针对我的 ORM 生成 SQL 语句,我们将在数据库上执行此 SQL。
我是否会编写自定义 Linq 提供程序来满足我的需要?
【问题讨论】:
-
您尝试做的事情是可以理解的,但是编写自己的 Linq Provider 是一项非常大的工作。我知道没有捷径可以让你更快地到达那里。
-
您的 png 链接已失效。不错的宠物项目,但你的屏幕截图也在那里死了。
标签: c# linq linq-to-sql