【发布时间】:2019-04-15 08:40:27
【问题描述】:
我试图构建一个 LINQ 语句来满足这个 SQL 语句。
SELECT * FROM [Access].[14 MATERIAL_LIST] WHERE MATERIAL_DESC LIKE
'%GASKET%300%30%';
我已经尝试过使用循环。并且 linq 会像这样产生。
SELECT * FROM [Access].[14 MATERIAL_LIST] WHERE MATERIAL_DESC LIKE
'%GASKET%' AND MATERIAL_DESC LIKE '%300%' AND MATERIAL_DESC LIKE
'%30%';
循环语句
foreach (var item in tanoList) {
QueryML = QueryML.Where(z => z.Material_Desc.Contains(item)); }
【问题讨论】:
-
SQL 查询相当于单个
QueryML.Where(z => z.Material_Desc.Contains("GASKET%300%30"))。 LINQ 不会生成您发布的内容,它会用%包围谓词,从而生成您的原始表达式。为什么要使用循环? -
循环生成多个.contain(item)语句。
-
我再说一遍,这个问题只有 一个 值。如果您想搜索多个值,请在问题中明确说明。人们无法回答您尚未提出的问题。
-
tanoList中存储了哪些值?你在使用 EF Core 吗?