У меня есть следующий запрос linq для сущностей. Проблема в том, что он, кажется, не загружает отношение «Теги», хотя я включил для него кое-что. Он отлично работает, если я не присоединяюсь к тегам, но мне нужно это сделать.
var items = from i in db.Items.Include("Tags")
from t in i.Tags
where t.Text == text
orderby i.CreatedDate descending
select i;
Есть ли другой способ задать этот вопрос? Может, поделить что ли?





Что ж, Include противоречит where. Включаемый говорит: «Загрузить все теги». Где написано: «Загрузите несколько тегов». Когда есть противоречие между запросом и включением, запрос всегда будет выигрывать.
Чтобы вернуть теги все из элемента любой с по меньшей мере one tag == text:
var items = from i in db.Items.Include("Tags")
where i.Tags.Any(t => t.Text == text)
orderby i.CreatedDate descending
select i;
(Не проверено, так как у меня нет вашей БД / модели)
Вот действительно хорошая бесплатная книга по LINQ.
Вы хотите включить ВСЕ теги из ЛЮБОГО элемента, по крайней мере, с одним тегом == text?
Любые предложения о том, как написать это каким-либо другим способом, чтобы я мог получить теги и выполнить для них условие. В обычном SQL это было бы довольно просто.