无法使其工作实体框架迁移
当我执行命令 update-database 时出现以下错误:
更新数据库:使用数据库的 T4 模板生成的代码 如果用于 First 和 Model First 开发,则可能无法正常工作 代码优先模式。继续使用数据库优先或模型优先 确保在中指定实体框架连接字符串 执行应用程序的配置文件。
要使用这些从 Database First 或 Model 生成的类 首先,使用 Code First 添加任何其他配置 属性或 DbModelBuilder API,然后删除以下代码: 抛出此异常。 行:1 字符:16 + 更新数据库<<<< -详细 + 类别信息:未指定:(:) [更新数据库],UnintentionalCodeFirstException +完全限定错误ID: System.Data.Entity.Infrastruct.UnintentionalCodeFirstException,System.Data.Entity.Migrations.UpdateDatabaseCommand
我做错了什么?
When I executed the command update-database an getting the following error:
Update-Database : Code generated using the T4 templates for Database
First and Model First development may not work correctly if used in
Code First mode. To continue using Database First or Model First
ensure that the Entity Framework connection string is specified in the
config file of executing application.To use these classes, that were generated from Database First or Model
First, with Code First add any additional configuration using
attributes or the DbModelBuilder API and then remove the code that
throws this exception.
At line:1 char:16
+ Update-Database <<<< -verbose
+ CategoryInfo : NotSpecified: (:) [Update-Database], UnintentionalCodeFirstException
+ FullyQualifiedErrorId :
System.Data.Entity.Infrastructure.UnintentionalCodeFirstException,System.Data.Entity.Migrations.UpdateDatabaseCommand
What I'm doing wrong??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为问题在于您正在使用代码生成模板从模型中获取实体类。
如果您想使用 EntityFramework.Migrations,您应该更改代码优先的方法。
您可以做的是将 T4 模板生成的所有实体类复制到另一个文件夹中,删除模型 (EDMX) 和其他 T4 文件,然后将之前备份的实体类再次添加到项目中。
I think the problem is that you are using a Code Generation Template to get you Entity classes from the model.
If you want to use EntityFramework.Migrations, you should change your approach to Code First.
What you can do is copy all the Entity Classes generated from the T4 template on another folder, delete the model (EDMX) and the other T4 files, and then add the Entity Classes that you backed up before again to your project.