View Single Post
nso
popålol
nso's Avatar
Trådstarter Administrator
Kjører 2.2, men tror ikke det er synderen (excuse the pun). Er rimelig sikker på at det er selve relasjonsmodellen som mangler noe.

Code first, ja.

Her er relevante entities og context. Jeg tror kanskje EF ikke forstår modellen min. Kanskje jeg trenger å explisit definiere forholdene mellom entities med modelBuilder for at den skal forstå at det er left join jeg trenger?

Kode

    [Table("Foo")]
    public class Foo
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public long FooId { get; set; }

        public ICollection<FooBar> FooBars { get; set; }
    }

Kode

    [Table("FooBar")]
    public class FooBar
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public long FooBarId{ get; set; }

        public long FooId { get; set; }
        public Foo Foo { get; set; }

        public bool IsDeleted { get; set; }
    }

Kode

    public class Context : DbContext
    {
        public DbSet<Foo> Foo { get; set; }
        public DbSet<FooBar> FooBar { get; set; }

        private readonly DbConnection _connection;

        public Context()
        {
            _connection = Library.Database.ConnectionBuilder.Build("FooDbConnectionConfig");
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder
                .UseNpgsql(_connection)
                .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.HasDefaultSchema("core");

... (egentlig ingenting relevant her, setter opp noen unique indexes)

            base.OnModelCreating(modelBuilder);
        }
    }
Sist endret av nso; 28. oktober 2020 kl. 17:42.