EF 4.1 OnModelCreating未调用

我有一个问题,EF 4.1没有调用OnModelCreating所以我可以配置表等我有一个现有的数据库。 这是我的连接字符串:

  

这是我inheritance自DbContext类:

 public class AcmeDBContext : DbContext { public AcmeDBContext() : base() { Database.SetInitializer(null); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove(); modelBuilder.Conventions.Remove(); modelBuilder.Entity().ToTable("tblVehicle"); modelBuilder.Entity().ToTable("tblVehicleMake"); modelBuilder.Entity().ToTable("tblVehicleModel"); base.OnModelCreating(modelBuilder); } } 

我已经在线阅读和阅读,但我不能指出问题所在。 永远不会调用OnModelCreating ,因此在我尝试查询任何内容时,当前上下文中不存在实体/类(Vehicle,VehicleMake,VehicleModel)的exception。

您正在使用两种方法 – 您的连接字符串表示您希望首先使用模型或首先使用EDMX数据库,但是您正在编写上下文以使用代码优先/流畅的api来映射数据库。 一旦你使用EDMX OnModelCreating永远不会被调用。 如果要使用OnModelCreating ,请使用不带元数据资源的公共SQL连接字符串。