Entity LINQ при ошибке «многие ко многим»: «LINQ to Entities не распознает метод« Boolean Contains ... » - PullRequest
1 голос
/ 15 апреля 2010

У меня есть 2 таблицы (пользователи и роли), они отображаются как многие-ко-многим в реляционных БД. Когда я импортировал данные в Entity Data Content, они по-прежнему остаются такими же отношениями.

Поскольку они сопоставлены как «многие ко многим» в Entity, я могу получить доступ к

Users.RoleCollection 
or
Roles.UserCollection

Однако, когда я выполняю этот запрос LINQ, я получил сообщение «LINQ to Entities не распознает метод« Boolean Contains ... method », и этот метод нельзя преобразовать в выражение хранилища».

var result (from a in Users
            from b in Roles
            where a.RoleCollection.Contains(b)
            select a);

Я думаю, что я сделал что-то не так ... пожалуйста, помогите.

1 Ответ

3 голосов
/ 15 апреля 2010

Просто используйте любой ....

     where a.RoleCollection.Any(x=>x.ID==b.ID)

или

     where a.RoleCollection.Any(x=>x==b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...