动态地将LINQ和Lambdas转换为SQL或任何文本

时间:2013-07-17 10:44:55

标签: .net sql linq tsql lambda

如果有人知道这个问题的任何部分,请回答。

我正在开发一个特殊的数据层,它应该针对数据库运行SQL或者向设备发送一组命令。我需要的是处理Lambda表达式和/或Linq查询并生成 MY 等效的Sql或命令集。

e.a:

var q= from myModel m select m Where m.Amount > 10

我想处理q以便能够生成如下文本:

command #1
get map('myModel')
setCondition For Amount AS GreaterThan 10
execute #1

Select * FROM myModel WHERE Amount > 10

sp_myModelWhere('Amount','>',10)

此外,我希望能够处理lambda表达式: e.a:

DAL<myModel>.Where(p=>p.Amount > 10)

abouve Where方法的代码是什么?

1 个答案:

答案 0 :(得分:1)

您可以创建自己的LINQ提供程序。对于简单的stackoverflow答案,解释这可能过于宽泛,但是here's a tutorial on MSDNhere's another short walkthrough