以下类似语句的代码会引发错误,任何人都可以帮忙吗?
var results = from c in dt.AsEnumerable()
where SqlMethods.Like(c.Field<int>("Design_no").ToString(),
"%" + Auto_txt_desi.Text.Tostring() + "%,")
select c;
DataView view = results.AsDataView();
dt = view.ToTable();
答案 0 :(得分:6)
SqlMethods.Like
是Linq-To-Sql
查询数据库的方法,而不是Linq-To-DataSet
Linq-To-Objects
的子集。您可以使用纯.NET方法:
var rows = from row in dt.AsEnumerable()
let Design_no = row.Field<int>("Design_no").ToString()
where Design_no.Contains(Auto_txt_desi.Text)
select row;
MSDN:
无法透露SQL Server
LIKE
功能 现有公共语言运行库(CLR)和.NET的翻译 框架构造,并且在LINQ to SQL之外不受支持 上下文。在LINQ to SQL 之外使用此方法将始终如此 抛出NotSupportedException
类型的例外。