OnModelCreating
テーブルなどを構成できるようにEF4.1が呼び出されないという問題があります。既存のデータベースがあります。これが私の接続文字列です:
<add name="AcmeDBContext"
connectionString="metadata=res://*/|res://*/|res://*/;
provider=System.Data.SqlClient;
provider connection string="
data source=[server];
initial catalog=Acme;integrated security=True;
multipleactiveresultsets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
これが私のクラスから継承されたものDbContext
です:
public class AcmeDBContext : DbContext
{
public AcmeDBContext()
: base()
{
Database.SetInitializer<AcmeDBContext>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<Vehicle>().ToTable("tblVehicle");
modelBuilder.Entity<VehicleMake>().ToTable("tblVehicleMake");
modelBuilder.Entity<VehicleModel>().ToTable("tblVehicleModel");
base.OnModelCreating(modelBuilder);
}
}
私はオンラインで読んだり読んだりしましたが、何が問題なのか指摘できません。はOnModelCreating
呼び出されないため、何かをクエリしようとすると、エンティティ/クラス(Vehicle、VehicleMake、VehicleModel)が現在のコンテキストに存在しないという例外が発生します。