使用Linq查询与字符串列表进行比较

4
我需要使用LINQ比较并获取一个字符串列表中匹配的值。请看我的代码。
代码:
Split = Id.Split(',');
List<string> uids = new List<string>(Split);
var model = (from xx in Db.ItemWeedLogs
                where xx.ItemNo == uids   
                // I need to pass a string list to extract the matching record.
                select xx).ToList();

1
太晚了 :/ 这些人速度真快。 - Mert
3个回答

7
尝试这个:
var model = (from xx in Db.ItemWeedLogs
                     where uids.Contains(xx.ItemNo)
                     select xx).ToList();

2

尝试:

where uid.contains(xx.ItemNo)

@Dheyv 非常欢迎。你应该接受 Wahid 的答案(他回答得更早,也更清晰 ;) - The_Cthulhu_Kid

2
我认为这更快速和清晰。
var model = Db.ItemWeedLogs
              .Join(Id.Split(','), di => di.ItemNo, si => si, (d, s) => new {d})
              .ToList();

根据集合的相对大小,建立一个字典可能也是一个不错的选择。+1 - jbl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接