你能指示EF忽略已经存在的表吗

本文关键字:存在 指示 EF | 更新日期: 2023-09-27 18:23:37

我的应用程序有一个使用Autofac注入的单上下文。我也有插件,它们在同一个数据库上创建和维护自己的上下文。我现在将所有内容整合在一起,以便插件只使用主上下文。

我现在面临的问题是,因为表已经存在于数据库中,所以我不能update-database,因为它说PluginTable已经存在于该数据库中。我不能做一个add-migration然后删除Up/Down条目,因为插件不在同一个项目中。

注意:我认为这只是一个问题,因为表已经存在,所以我需要更新当前的迁移条目,这样它就不会尝试重新创建表。

注意:我考虑过重新构建迁移文件,但同样的问题也会发生,因为添加迁移不起作用。

我不知道该发布什么代码来帮助实现这一点,但我只是想知道我们是否可以告诉ef忽略其创建过程中已经存在的表(当我键入它时,这听起来很愚蠢,但我不确定还能做什么)。

编辑:也许我应该问的问题是如何让add-migration注意到其他项目,这样我就可以进行空白添加迁移,并使迁移文件更新

你能指示EF忽略已经存在的表吗

不确定您所说的不能添加迁移是什么意思,但如果您需要运行迁移来建立基线:

Add-Migration MyBaseline –IgnoreChanges 

https://msdn.microsoft.com/en-us/data/dn579398.aspx?f=255&MSPP错误=-2147217396#选项1