我有一个简单的SQL语句。
从tablename中选择不同的值,其值不像'%TEST%'
如何用Linq to SQL语法编写它。
我尝试了以下声明但它似乎无法正常工作。
var p = (from c in tablename where !(c.value.ToUpper().Contains("%TEST%"))
select c.Value).Distinct().ToList()
答案 0 :(得分:13)
问题是“%” - 你正在寻找一些字面上不包含“%TEST%”的东西,这可能就是一切。我想你的意思是:
var p = (from c in tablename
where !c.Value.ToUpper().Contains("TEST")
select c.Value).Distinct().ToList()
答案 1 :(得分:4)
如果您遇到了匹配的sql模式,可以使用SqlMethods.Like
string pattern = "%TEST%";
...
from c in tablename
where !SqlMethods.Like(c.Value, pattern)
select c