Код: Выделить всё
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] GridifyAdvancedQuery query)
{
var authors = DbContext.Authors
.AsNoTracking()
.ApplyFiltering(query);
var authorsDto = await ObjectMapper.ProjectTo(authors)
.ToListAsync();
return Ok(authorsDto);
}
Я хочу напрямую получить список авторов из таблицы «Авторы», применив фильтр к свойству Author.Books.
Мне известен обходной путь, с помощью которого я могу получить список авторов, запросив таблицу «Книги», а затем вернувшись к списку «Авторы». код>. Однако я хотел бы избежать этого подхода и напрямую запросить таблицу авторов.
Я пробовал создать Пользовательские фильтры, но у меня возникли трудности с интеграцией Запросы LINQ к логике фильтрации.
Ссылки
- https://alirezanet. github.io/Gridify/guide/filtering#custom-operators
- EF Core включает ICollection с фильтром для объекта, на который ссылается коллекция
Подробнее здесь: https://stackoverflow.com/questions/792 ... in-ef-core