如何在不使用for循环的情况下将逗号分隔的值传递给LINQ查询



我有一个用逗号分隔的值列表,我需要将这些值传递给LINQ查询,并从DB中获得匹配的值,我已经使用了for循环来解决这个问题

这是我的代码

string drawingList="a,b,c,d";
string[] drawings = drawingList.Trim(',').Split(',');
IQueryable<table> filteredItems = null;
filteredItems =(some linq query)
List<table> filteredResult = new List<table>();
for (int i = 0; i < drawings.Count(); i++)
{
    dr = drawings[i].Trim();
    filteredItems = filteredItems.Where(p1 => p1.WorkItemNumber.Equals(dr));
                    filteredResult.AddRange(filteredItems);
}

如果没有for循环,我如何解决上述问题

尝试

filteredItems = filteredItems.Where(i => drawings.Contains(i => i.WorkItemNumber));
var result = from   drUntrimmed in drawings
               let  dr = drUntrimmed.Trim()
             from   f in filteredItems
             where  f.WorkItemNumber.Equals(dr)
             select f;

最新更新