У меня есть таблица «account», которая содержит строковый внешний ключ («parent_guid») для его «родительской» учетной записи (если она существует).Я хотел бы создать сущность, которая знает своего родителя, а также всех его потомков.
Вот моя сущность:
[Table(name:"accounts")]
public class Account
{
[Key]
public string Guid { get; set; }
public string Name { get; set; }
[Column("guid")]
public string accountGuid { get; set; }
[Column(name: "parent_guid")]
public string parentGuid { get; set; }
[ForeignKey("parentGuid")]
public Account Parent { get; set; }
[InverseProperty("Parent")]
public ICollection<Account> Children { get; set; }
}
Вот мой dbContext:
public DbSet<Split> Splits { get; set; }
public DbSet<Account> Accounts { get; set; }
public ReportContext(DbContextOptions<ReportContext> options)
: base(options)
{ }
Мой запрос выполняется через контекст 'split' в качестве исходной таблицы, но в итоге я возвращаю учетные записи.Может быть, есть лучший способ?
Когда я запрашиваю учетную запись по Guid, я получаю результат, но «Parent» и «Children» всегда равны нулю, даже если «parentGuid» содержит правильное значение, и яподтвердили, что должны быть дочерние записи.
Есть идеи, как заставить эту работу работать, используя аннотации или свободный API?