如何在每个Entity Framework数据库迁移后访问上下文

Pau*_*aul 6 sql entity-framework-6

当我添加迁移时,我使用Up/Down方法获得适当的DbMigration类,我可以在其中进行模式更改(使用Sql()方法)也可以进行数据/内容更改.

我希望能够使用数据库上下文对每次迁移进行内容更改.我知道我可以在Configuration类中使用Seed方法,但我的理解是我只能使用初始化程序连接一个Configuration.

我希望有一个UpCompleted()/ DownCompleted()方法,它们可以在迁移完成后提供对db上下文的访问.这将使得能够以比使用Sql()方法更不容易出错的方式编写增量数据/上下文更改"脚本".

我错过了什么吗?这可能吗?

谢谢!

Row*_*ler 10

这并不真正有效,因为上下文只有最近的模型 - 只能在最近的迁移运行后用于访问数据库(这实际上是Seed实现的).

有关此想法如何中断的示例,如果您将属性从一个类移动到另一个类,那么旧版迁移中的种子逻辑将不再编译.但您无法更改它以使用新属性,因为相应的列尚不存在于数据库中.

如果要编写这种种子/数据操作逻辑,则需要将其放在Up/Down方法的末尾,并使用Sql方法使用原始SQL执行它.

〜罗文