LoginSignup
0
2

More than 5 years have passed since last update.

EF6でDbContext内のDbSetを読み取るときにハマったこと

Posted at

EF6のDBContextでのデータ読み込みの時、以下のコードは読める。DBへのアクセスが行われる。

    public class MyContext : DbContext , Interface.IMyContext
    {
        public DbSet<MyProject.Models.Something> MySomething { get; set; }
    }

しかしこれは読めない。まあこれはなんとなくわからんではない。

    public class MyContext : DbContext , Interface.IMyContext
    {
        internal DbSet<MyProject.Models.Something> MySomething { get; set; }
    }

インターフェイス経由にしても読めない。

    public class MyContext : DbContext , Interface.IMyContext
    {
        DbSet<MyProject.Models.Something> IMyContext.MySomething { get; set; }
    }

DbContext内にあるモデルに対するアクセスは、Publicでないといけないようだ。

インターフェイス経由にして結合度を下げようと思ってたが、この制約により、もう一段階、何かを噛まさねばならなくなった。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2