LINQ-to-SQL: поиск по CSV - PullRequest
       14

LINQ-to-SQL: поиск по CSV

0 голосов
/ 09 марта 2010

Я использую LINQtoSQL и хочу вернуть список совпадающих записей для CSV, содержащий список идентификаторов для сопоставления. Следующий код является моей отправной точкой, превратив строку CSV в массив строк, а затем в общий список (который, как я думал, хотел бы LINQ) - но это не так:

Error

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 ]

1 голос
/ 09 марта 2010
var geographyMatches = from cg in db.ContactGeographies
                               where geographyList.Contains(cg.GeographyId)
                               select new { cg.ContactId };
0 голосов
/ 09 марта 2010

Как говорит ошибка, в where cg.GeographyId == geographyList вы пытаетесь сравнить int с List<int>. Они совершенно разные типы. Я думаю, что вы хотите сделать geographyList.Contains(cg.GeographyId) или какую-то другую операцию, подобную этой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...