EF codefirst 删除表 不会再自动创建表 怎么办

时间:2021-10-01 11:58:46
因为codefirst 自动创建表 主键 ID有 标识,会自动增长, 高人说把表删掉 再加上 [DatabaseGenerated(DatabaseGeneratedOption.None)]标识,就可以解决这个问题,我把表删掉后,发现EF,并没有自动 增加删除的表,这怎么办呀,   
我想把整个数据库删除了,再试,但是数据太多,不能删除整个数据库。


后来又说删除掉  表__MigrationHistory 再试,我就 delete  _MigrationHistory 尝试一下,结果报已经存在的表重复。

请教大家  手动删除表后,  codefirst  不会再自动创建表 怎么办

11 个解决方案

#1


自己顶一下,帮忙看一下吧,万分感谢

#2


按照你说的之后再运行一次mirigration命令

#3


引用 2 楼 Chinajiyong 的回复:
按照你说的之后再运行一次mirigration命令

是不是 工具-NuGet 包管理器 程序包管理器控制台 执行  
PM> Enable-Migrations -EnableAutomaticMigrations

#4


没有人回,又只能自己顶了

#5


该回复于2017-02-09 16:06:50被管理员删除

#6


多简单的事。。。。

不要手动删除,改成通过ef删除不就结了。。。。

唉。。。。

#7


引用 4 楼 zhengyingcan 的回复:
没有人回,又只能自己顶了

厉害,那通过EF删除表又如何操作呢

#8


再手动建一个一样的就可以了啊

#9


引用 8 楼 World3000 的回复:
再手动建一个一样的就可以了啊

手动建的,EF不会再操纵这张表了,  感觉EF创建的表,你在代码上做修改,底层的数据表会跟着改变,假如手动创建的表,代码上修改表结构,但是表不会做任何改变

#10


用Enable-Migrations -Force
Add-Migration Alter
Update-Database 对数据库做迁移同步修改

#11


10楼的朋友,有没有教一步步怎么操作的呢

#1


自己顶一下,帮忙看一下吧,万分感谢

#2


按照你说的之后再运行一次mirigration命令

#3


引用 2 楼 Chinajiyong 的回复:
按照你说的之后再运行一次mirigration命令

是不是 工具-NuGet 包管理器 程序包管理器控制台 执行  
PM> Enable-Migrations -EnableAutomaticMigrations

#4


没有人回,又只能自己顶了

#5


该回复于2017-02-09 16:06:50被管理员删除

#6


多简单的事。。。。

不要手动删除,改成通过ef删除不就结了。。。。

唉。。。。

#7


引用 4 楼 zhengyingcan 的回复:
没有人回,又只能自己顶了

厉害,那通过EF删除表又如何操作呢

#8


再手动建一个一样的就可以了啊

#9


引用 8 楼 World3000 的回复:
再手动建一个一样的就可以了啊

手动建的,EF不会再操纵这张表了,  感觉EF创建的表,你在代码上做修改,底层的数据表会跟着改变,假如手动创建的表,代码上修改表结构,但是表不会做任何改变

#10


用Enable-Migrations -Force
Add-Migration Alter
Update-Database 对数据库做迁移同步修改

#11


10楼的朋友,有没有教一步步怎么操作的呢