我正在使用.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>)'.
另请注意,数据库尚未创建!
“迁移”文件夹已包含单个迁移文件,其中包含我拥有的所有模型+“配置类”。
欣赏这一点。
此致
答案 0 :(得分:3)
当在同一解决方案中的不同项目上通过Nuget安装了多个版本的EntityFramework时,可能会发生此行为。
可以通过打开解决方案的软件包管理器,选择最新版本的EntityFramework,单击“管理”,然后选择所有项目来解决此问题。然后,这会将所有旧版本更新为相同版本。