Напишите, где условие внутри Включить в запрос linq - PullRequest
0 голосов
/ 23 января 2020

Следующий запрос возвращает ошибку:

Неверное выражение свойства. Выражение должно представлять свойство access: 't => t.MyProperty'.

var list = this.DataContext
    .GetDbSet<Table1>()
    .Include(t => t.Table2.Where(i=>i.Active == true))
    .Include("Table2.Table3")
    .ToListAsync();

Как можно выполнить вышеуказанный запрос?

1 Ответ

4 голосов
/ 23 января 2020

Фильтр не может работать в том числе. Вам нужно скачать Z.EntityFramework.Plus.EFCore из nuget. И используйте код ниже

var list = this.DataContext
.GetDbSet<Table1>()
.IncludeFilter(t => t.Table2.Where(i=>i.Active == true))
.ThenInclude(x => x.Table3)
.ToListAsync();

Альтернативный

var list = this.DataContext
.GetDbSet<Table1>()
.Include(t => t.Table2)
.ThenInclude(x => x.Table3)
.ToListAsync();
list.Table2 = list.Table2.Where(x => x.Active == true); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...