如何将Lambda表达式转换为SQL Server查询语法?

时间:2012-08-07 18:18:15

标签: tsql linq-to-sql

这是lambda表达式,我想将其转换为SQL Server查询语法。

{x => ((True AndAlso x.Name.ToLower().Contains("_")) AndAlso Not(x.IsDeleted))}

注意:lambda表达式等效于Sql server的Where子句。 我想将其转换为sql语法,然后将其传递给sql server存储过程。 有什么方法可以实现这个目标吗?

1 个答案:

答案 0 :(得分:2)

通常,您可以对LINQ语句返回的ToString对象使用IQueryable方法来查找将在数据库上执行的确切查询。但是,在这种情况下,我猜想可能会为WHERE生成类似的东西:

WHERE CONTAINS(Name, '_') AND NOT IsDeleted

但是,您没有提供任何可以让我验证的细节。

如果您没有打开全文,则以下内容可能更适用:

WHERE Name like '%_%' AND NOT IsDeleted