首页> C#> EF6数据库第一-EF试图创建我的数据库(但所有表已经存在)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了首页> C#> EF6数据库第一-EF试图创建我的数据库(但所有表已经存在),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1445字,纯文字阅读大概需要3分钟。
内容图文
![首页> C#> EF6数据库第一-EF试图创建我的数据库(但所有表已经存在)](/upload/InfoBanner/zyjiaocheng/885/24d0f2b644b34bf29f6d2e2936720ed1.jpg)
好吧,我有一点背景如何到达这里.我正在重建一个旧的MVC3网站.我最近有一个Database First MVC5 EF6项目,该项目具有要使用的UI包.我复制了现有项目并撕下了几乎所有内容(所有项目特定的POCO模型,DbContext,Views等),基本上我只是将新的Identity内容与UI框架一起留在其中.
我创建了脚本来将数据库从SQLMembership手动转换为Identity 2.0(以及一些用于密码转换的代码).一切正常,编译完成,我可以以现有用户身份登录.
下一步,我创建了一个新的临时项目(我不想弄乱实际的项目名称空间),从新数据库为所有现有表生成POCO模型,将它们复制到我的项目中,然后手动编写了DataModel Fluent API代码.我在模型生成过程中遇到了一些验证错误,我没有解决任何问题.但是现在,当尝试执行任何将访问已存在__MigrationHistory的DataModel的操作时,我得到一个异常错误.
进一步调查EF SQL调试输出后,它正在尝试运行脚本来创建数据库中的所有表,由于它已存在,因此在尝试创建__MigrationHistory表时最终抛出错误(尽管我应该注意它没有记录).
那我在做什么不同? EF如何知道不要在我的其他工作正常的项目中尝试这样做,并且在DataModel结构和POCO Model结构方面与我的新项目相同?我该怎么解决?我知道我可以创建自己的初始化程序(How can I disable the use of the __MigrationHistory table in Entity Framework 4.3 Code First?),但我更希望了解正在发生的事情并在源代码处进行修复,而不是在其周围进行编码.
解决方法:
删除项目中现有的Migrations文件夹.从现有数据库中删除表“ __MigrationHistory”.现在您可以重建此历史记录表:
PM> enable-migrations
PM> add-migration Initial -IgnoreChanges
PM> update-database
-IgnoreChanges创建空的Up()方法,并且不对现有对象进行任何更改.
内容总结
以上是互联网集市为您收集整理的首页> C#> EF6数据库第一-EF试图创建我的数据库(但所有表已经存在)全部内容,希望文章能够帮你解决首页> C#> EF6数据库第一-EF试图创建我的数据库(但所有表已经存在)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。