EF 6.0.0 - 不从头开始创建数据库

时间:2014-06-11 08:14:41

标签: .net c#-4.0 entity-framework-6

我正在使用.NET 4.0项目。我安装了EF -version 6.0.0 nuget包。

我添加了一个类库,安装了EF,然后启用了迁移,添加了我的数据库上下文类,在我的App.config中,我添加了这个配置部分:

<contexts>
  <context
    type="DataLayer.MiddlewareDbContext, DataLayer">
    <databaseInitializer
      type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[
        DataLayer.MiddlewareDbContext, DataLayer], 
        [DataLayer.Migrations.Configuration, DataLayer]], EntityFramework" />
  </context>
</contexts>

当我运行应用程序时,当我尝试访问数据库上下文时出现以下异常:

Method not found: 'System.Data.Entity.Migrations.Model.ColumnModel System.Data.Entity.Migrations.Builders.ColumnBuilder.String(System.Nullable`1<Boolean>, System.Nullable`1<Int32>, System.Nullable`1<Boolean>, System.Nullable`1<Boolean>, System.String, System.String, System.String, System.String, System.Collections.Generic.IDictionary`2<System.String,System.Data.Entity.Infrastructure.Annotations.AnnotationValues>)'.

另请注意,数据库尚未创建!

“迁移”文件夹已包含单个迁移文件,其中包含我拥有的所有模型+“配置类”。

欣赏这一点。

此致

1 个答案:

答案 0 :(得分:3)

当在同一解决方案中的不同项目上通过Nuget安装了多个版本的EntityFramework时,可能会发生此行为。

可以通过打开解决方案的软件包管理器,选择最新版本的EntityFramework,单击“管理”,然后选择所有项目来解决此问题。然后,这会将所有旧版本更新为相同版本。