Не работает связь один-ко-многим EF Core 3

using var db = new Context();
var user = db.Users.Single(e => e.Id == 1); // свойство Posts является null
var post = db.Posts.Single(e => e.Id = 1); // свойство User не является null

public class Context : DbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<Post> Posts { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseNpgsql("connection string");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>(
            o =>
            {
                o.HasKey(p => p.Id);
            });

        modelBuilder.Entity<Post>(
            o =>
            {
                o.HasKey(p => p.Id);
                o.HasOne(p => p.Creator).WithMany(p => p.Posts).HasForeignKey(p => p.CreatorId);
            });
    }
}

public abstract class EntityBase
{
    public EntityBase()
    {
        CreatedDate = DateTime.Now;
    }

    public int Id { get; set; }
    public DateTime CreatedDate { get; set; }
}

public class User : EntityBase
{
    public string Name { get; set; }
    public string Email { get; set; }
    public string Password { get; set; }

    public List<Post> Posts { get; set; }
}

public class Post : EntityBase
{
    public string Description { get; set; }
    public int CreatorId { get; set; }
    public User Creator { get; set; }
}

По отношению к сущности Post все работает правильно - свойство Creator заполнено необходимым экземпляром, но по отношению к User свойство Posts пустое. Как решить эту проблему?


Ответы (0 шт):