EF Core: сопоставление свойства с подчиненным свойством - PullRequest
0 голосов
/ 31 марта 2020

Я хотел бы реализовать какую-то композицию в моей сущности. У меня есть следующий код:

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, но я не могу найти способ сделать это.

...