Я хотел бы реализовать какую-то композицию в моей сущности. У меня есть следующий код:
class Expense
{
public int Amount { get; set; }
}
class Item
{
public int Id { get; set; }
public int Name { get; set; }
}
class ItemBasedExpense
{
public Item Item { get; set; }
public Expense Expense { get; set; }
}
class LineItem
{
private ItemBasedExpense itemBasedExpense;
public Item Item => itemBasedExpense.Item;
}
Мне удалось сопоставить поле itemBasedExpense как собственный тип, но я не хочу показывать его напрямую. Я хочу, чтобы только часть его была доступна через свойство Item. EF Core может загрузить мою сущность LineItem без каких-либо проблем с заполненным полем itemBasedExpense. Но когда я пытаюсь использовать свойство Item в моих запросах, таких как DbContext.Set<LineItem>().Where(line => line.Item.Id > 0).ToList()
, itemBasedExpense имеет значение null. Я уверен, что EF можно как-то сказать, что он будет использовать / загружать поле itemBasedExpense при доступе к свойству Item, но я не могу найти способ сделать это.