Entity framework 如何告诉EntityFramework迁移使用当前上下文使用的连接?

Entity framework 如何告诉EntityFramework迁移使用当前上下文使用的连接?,entity-framework,connection-string,entity-framework-migrations,Entity Framework,Connection String,Entity Framework Migrations,当我使用连接字符串名称创建上下文时,该连接按预期使用,但运行迁移的代码不会使用 该代码使用无参数构造函数创建了一个新的上下文,该构造函数显然使用了默认的连接解析机制,从而连接到另一个数据库!! 对我来说,这似乎是非常不受欢迎的默认行为。为什么迁移不使用当前上下文,或者至少不使用与当前上下文相同的连接字符串 我是否遗漏了什么,或者这是代码优先迁移中的一个缺陷?解决这个问题的最佳方法是什么?实现IDbContextFactory?或者在上下文构造函数中使用Database.SetInitialize

当我使用连接字符串名称创建上下文时,该连接按预期使用,但运行迁移的代码不会使用

该代码使用无参数构造函数创建了一个新的上下文,该构造函数显然使用了默认的连接解析机制,从而连接到另一个数据库!! 对我来说,这似乎是非常不受欢迎的默认行为。为什么迁移不使用当前上下文,或者至少不使用与当前上下文相同的连接字符串

我是否遗漏了什么,或者这是代码优先迁移中的一个缺陷?解决这个问题的最佳方法是什么?实现IDbContextFactory?或者在上下文构造函数中使用Database.SetInitializer进行somting

实际上,我在查询数据库时没有出现任何异常,因为我没有运行任何依赖迁移的代码,同时在SQLEXPRESS中秘密创建了一个全新的数据库

使用的版本是实体框架6和.NET 4

为了证明我的发现,我从调试器中添加了一些屏幕。第一个显示从连接字符串SiteSqlServer获取的连接已实际使用。第二个显示数据库初始化代码中使用的连接不同。 第三个显示屏幕打印时的堆栈跟踪

希望照片可读,放大会有帮助