我正在使用LINQtoSQL,我想返回CSV的匹配记录列表,其中包含要匹配的ID列表。下面的代码是我的起点,已经在字符串数组中转换了一个CSV字符串,然后转换为通用列表(我认为LINQ想要) - 但它没有:
错误
Error 22 Operator '==' cannot be applied to operands of type 'int' and 'System.Collections.Generic.List<int>' C:\Documents and Settings\....\Search.cs 41 42 C:\...\
代码
DataContext db = new DataContext();
List<int> geographyList = new List<int>( Convert.ToInt32(geography.Split(',')) );
var geographyMatches = from cg in db.ContactGeographies
where cg.GeographyId == geographyList
select new { cg.ContactId };
我从哪里开始?
答案 0 :(得分:1)
var geographyMatches = from cg in db.ContactGeographies
where geographyList.Contains(cg.GeographyId)
select new { cg.ContactId };
答案 1 :(得分:0)
如错误所示,在where cg.GeographyId == geographyList
您尝试将int
与List<int>
进行比较。他们是完全不同的类型。我想你想做geographyList.Contains(cg.GeographyId)
或其他类似的操作。