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でないといけないようだ。
インターフェイス経由にして結合度を下げようと思ってたが、この制約により、もう一段階、何かを噛まさねばならなくなった。