Очень трудно понять, что происходит без скриншота вашей модели, включая навигационные свойства для каждой сущности.
Но если вы говорите, что между многими множителями Событие и Doc (с EventDoc таблицей соединений), и если предположить, что ваша таблица соединений не имеет ничего, кроме FK, и, следовательно, ее не нужно отображать, то не должно быть ни одного Событие имеет много Документ ?
Этот запрос:
var query = ctx.Event.Include("EventDoc.Doc"
);
Подразумевает (основываясь на отсутствии множественного числа): одно событие имеет один EventDoc, который имеет один документ.
Но не должно ли это быть: одно событиеимеет один EventDoc, который имеет много документов.
Поэтому ваша проекция на самом деле не имеет смысла.Вы пытаетесь проецировать на анонимный тип с EventDate и Имя файла для одного документа, но событие имеет много документов.
Возможнопроекция, подобная этой, была бы более подходящей:
var query = ctx.Event.Include("EventDoc.Docs.DocUsage")
.Select(x => new
{
EventDate = x.EventDate,
DocsForEvent = x.EventDocs.Docs
}).ToList();
И для этого вам нужно исправить свою модель.Я удивлен, что он даже проверяет / компилирует.
Либо ваша модель неверна, либо вы описываете количество элементов базы данных в вашем вопросе.:)
Конечно, я мог бы неправильно понять вашу базу данных и / или модель - поэтому, если я сообщу мне, и я удалю этот ответ.