У меня есть следующие объекты:
public class Order
{
public int Id { get; set; }
public ICollection<LineItem> LineItems { get; set; }
}
public class LineItem
{
public int Id { get; set; }
public int Qty { get; set; }
}
Я хотел бы просто проверить, есть ли в заказе большие элементы (кол-во> 50), поэтому я хотел бы добавить свойство в класс Order следующим образом:
public class Order
{
public int Id { get; set; }
public ICollection<LineItem> LineItems { get; set; }
public bool HasLargeItems
{
get
{
return LineItems.Any(l => l.Qty > 50);
}
}
}
Это, однако, не работает из-за отложенной загрузки.Но если я использую .Include (o => o.LineItems), он извлечет все LineItems и затем сделает сравнение в памяти.Я бы предпочел, чтобы это сгенерировало и выполнило запрос к базе данных и просто вернуло мне логическое значение.
Возможно ли это сделать как свойство сущности Order или мне нужно написать какой-нибудь другой внешний объект запроса, который использует DbContext для выполнения таких проверок?