Включите коллекцию, а затем коллекцию на один уровень вниз

75
12

Я пытаюсь запросить коллекцию и дочернюю коллекцию с помощью EF 7. Вот код:


public async Task < List < Table >> GetAllTable() {
var tableList = await db.Tables.Include(o => o.Checks.Select(i => i.CheckItems)).ToListAsync();
return tableList;

}


Я следую синтаксису здесь MSDN. Однако, когда я запускаю этот код, я получаю следующую ошибку. Кто-нибудь знает, что здесь не так? Спасибо!


InvalidCastException: невозможно использовать объект типа 'Remotion.Linq.Clauses.Expressions.SubQueryExpression' для ввода типа 'System.Linq.Expressions.MemberExpression'. ** Microsoft.Data.Entity.Query.EntityQueryModelVisitor.b__30_2 (< > f__AnonymousType2`2 < > h__TransparentIdentifier0)


спросил(а) 2021-01-28T00:34:07+03:00 4 недели, 1 день назад
1
Решение
154

Документация, которую вы читаете, предназначена для EF 5.


примечания о дизайне совещаний для EF 7 говорят, что синтаксис этого изменился - попробуйте следующее:

db.Tables.Include(t => t.Checks)
.ThenInclude(c => c.CheckItems)
.ToListAsync()

ответил(а) 2021-01-28T00:34:07+03:00 4 недели, 1 день назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема