Код: Выделить всё
public class Author
{
public string Name { get; set; }
public ICollection Books { get; set;}
}
Код: Выделить всё
public class Book
{
public string Name { get; set; }
public int AuthorId { get; set; }
public virtual Author Author { get; set; }
}
Код: Выделить всё
[HttpGet]
public async Task GetAuthors([FromQuery] GridifyQuery query)
{
var authors = DbContext.Authors
.AsNoTracking()
.ApplyFiltering(query);
var authorsDto = await ObjectMapper.ProjectTo(authors)
.ToListAsync();
return Ok(authorsDto);
}
Я хочу напрямую получить список авторов из таблицы «Авторы», применив фильтр к свойству Author.Books, что на данный момент невозможно (т. е. фильтрация по ICollection).
Мне известен обходной путь, с помощью которого я могу получить список авторов, запросив таблицу «Книги», а затем переход обратно к Авторам. Однако я хотел бы избежать этого подхода и напрямую запросить таблицу авторов.
Я пробовал создать Пользовательские фильтры, но у меня возникли трудности с интеграцией LINQ выполняет запросы к логике фильтрации.
Ссылки
- https://alirezanet.github.io/Gridify/gu ... -operators
- EF Core включает ICollection с фильтром для объекта, на который ссылается коллекция li>
Подробнее здесь: https://stackoverflow.com/questions/792 ... in-ef-core