コンフィギュレーションマッピング(EntityTypeConfiguration
)あなたのテーブルを定義するクラスを使用することが起こる場合は、Configurationクラスを添付するのを忘れた場合、あなたはこのエラーを取得しますモデルビルダーにテーブルのために。
私のケースでは、私はすでにこのコンテキストクラス内で完全に動作する別のテーブル(SomeThing
)を持っていたので、ちょっと私を困らせました。すべてのがのように見える新しいテーブル(OtherThing
)を最初に追加した後、私はエラーを受け取りました:Invalid object name 'dbo.OtherThings
。
答えは私のContextクラスにいた:それは長いです
public class OtherThingMap : EntityTypeConfiguration<OtherThing>
{
public OtherThingMap()
{
...
this.ToTable("OtherThing");
...
}
}
:
public class SomeThingMap : EntityTypeConfiguration<SomeThing>
{
public SomeThingMap()
{
...
this.ToTable("SomeThing");
...
}
}
そして、私の新しいOtherThingMap
クラス:参考
public DbSet<SomeThing> SomeThings { get; set; }
public DbSet<OtherThing> OtherThings { get; set; }
...
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new SomeThingMap());
// OOPS -- Forgot to add this!!
modelBuilder.Configurations.Add(new OtherThingMap());
}
、ここに私のSomeThingMap
クラスです私はこれが他の人を正しい方向に向けるのを助けてくれることを願っています。少なくとも。
ありがとう、ダナ。それは動作します –