Entity framework core VisualStudio2019在用新的DbContext替换之前的DbContext之后,仍然会继续寻找它
免责声明:我发布了对此的自我回答。尽管这是一件很不寻常的事情,希望有人能从中受益 我最近用一个新的实体框架CoreEntity framework core VisualStudio2019在用新的DbContext替换之前的DbContext之后,仍然会继续寻找它,entity-framework-core,visual-studio-2019,Entity Framework Core,Visual Studio 2019,免责声明:我发布了对此的自我回答。尽管这是一件很不寻常的事情,希望有人能从中受益 我最近用一个新的实体框架CoreDbContext替换了我原来的实体框架Core,因为我重命名了数据库(以及其他东西)。为了方便起见,让我们调用原始的OriginalDbContext和NewDbContext 桌子结构本身保持不变 当然,我必须用NewDbContext替换OriginalDbContext的所有实例。我希望,一旦我这样做了,它就会简单地编译(因为除了用NewDbContext替换Original
DbContext
替换了我原来的实体框架Core,因为我重命名了数据库(以及其他东西)。为了方便起见,让我们调用原始的OriginalDbContext
和NewDbContext
桌子结构本身保持不变
当然,我必须用NewDbContext
替换OriginalDbContext
的所有实例。我希望,一旦我这样做了,它就会简单地编译(因为除了用NewDbContext
替换OriginalDbContext
之外,我没有做任何数据库更改)。然而,即使在我这样做之后,我仍然收到了大量错误消息,表明OldDbContext
没有表类别的定义
我搜索了解决方案中的所有文件,以查找对OriginalDbContext
的任何引用,但没有找到任何引用。我甚至完全删除了OriginalDbContext.cs
(包括在版本控制中)
为什么它会继续“查找”OriginalDbContext
,即使我验证它已从我所有的.cs
文件中删除?我最终在整个目录中执行了“全部查找”操作。事实证明,唯一引用OriginalDbContext
的地方是我的一个发布配置文件(当我只在解决方案中搜索时,它没有出现)。我删除了配置文件,并能够再次编译
我想这里更广泛的教训是,对DbContext
类的引用可能不会出现在代码库中,如果对整个解决方案执行“全部查找”,甚至可能不会出现
更糟糕的是,当我双击原始错误消息时,它使错误看起来像是来自我的代码库