我试图将我的应用程序连接到现有的应用程序。 所以我首先使用实体框架数据库创建了实体。
它创建我的所有实体和我的上下文很好。 但是当我尝试运行它时告诉我我的迁移不是最新的,所以我尝试添加迁移测试以查看缺少的内容...
它创建了我从DataBase First ...中提出的所有表格。
我无法重新创建那些我希望能够连接到这些表的表...
我绝对需要连接到那些表,我无法创建新表,我无法克隆数据库。
我怎样才能实现这一目标......我没有找到关于这一主题的任何资源,从过程的开始到结束。
一些帮助会很棒!
答案 0 :(得分:0)
问题:您无法使用数据库中的现有表重置迁移,因为EF希望从头开始创建表。
怎么做:
从Migrations_History表中删除现有迁移。
从“迁移文件夹”中删除现有迁移。
运行add-migration Reset。这将在您的Migration文件夹中创建一个包含创建表的迁移(但它不会运行它,因此不会出错。)
您现在需要在MigrationHistory表中创建初始行,以便EF具有当前状态的快照。如果您应用迁移,EF将执行此操作。但是,由于数据库中已存在表,因此无法应用刚刚进行的迁移。所以进入迁移并注释掉“Up”方法中的所有代码。
现在运行update-database。它将应用迁移(而不是实际更改数据库)并在MigrationHistory中创建快照行。
您现在已经重置了迁移,可能会继续正常迁移。