LINQ-to-SQL:搜索CSV

时间:2010-03-09 11:03:13

标签: c# sql linq linq-to-sql generics

我正在使用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 };

我从哪里开始?

2 个答案:

答案 0 :(得分:1)

var geographyMatches = from cg in db.ContactGeographies
                               where geographyList.Contains(cg.GeographyId)
                               select new { cg.ContactId };

答案 1 :(得分:0)

如错误所示,在where cg.GeographyId == geographyList您尝试将intList<int>进行比较。他们是完全不同的类型。我想你想做geographyList.Contains(cg.GeographyId)或其他类似的操作。