Linq для сущностей, запрашивающих отношения многие ко многим - PullRequest
1 голос
/ 28 июля 2011

У меня есть тег и объект Article с отношением «многие ко многим» с использованием Entity Framework 4.1.Я просто хочу получить список статей, которые имеют тег.Однако приведенный ниже код дает сбой:

var db = new ArticleContext();
        var tag = db.Tags.Find(tagId);
        var articles= from article in db.Articles
                       where article.Tags.Contains(tag)
                       select article; 

Ошибка: «В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid ')»Я понимаю, что это известная проблема с EF (http://msdn.microsoft.com/en-us/library/bb896317.aspx#RefNonScalarClosures), но как лучше обойтись?

1 Ответ

2 голосов
/ 28 июля 2011

Попробуйте это

var articles= from article in db.Articles
               where article.Tags.Any(tag => tag.Id == tagId)
               select article; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...