为了账号安全,请及时绑定邮箱和手机立即绑定

同一数据库中的多个数据库上下文和EF 6中的应用程序以及代码优先迁移

同一数据库中的多个数据库上下文和EF 6中的应用程序以及代码优先迁移

一只甜甜圈 2019-10-24 10:24:41
我是实体框架的新手。我正在尝试设置使用EF 6的MVC应用程序。我正在使用代码优先迁移。我在应用程序中使用Areas,并且希望在每个区域中使用不同的DbContext来分解它。我知道EF 6具有ContextKey,但是我找不到有关如何使用它的完整信息。目前,我一次只能使用一个上下文的迁移。有人可以提供一个足够详细的示例,让像我这样的EF新手理解和使用。
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

如果它们确实映射到同一个表,则仍然可以定义哪个迁移将首先运行,并让其迁移文件创建该表,然后哪个迁移文件将运行并进行修改,以使其不创建已经存在的表。然后,您可以使用每个上下文的MigrateDatabaseToLatestVersionforze强制ctx.Database.initialize()以正确的顺序运行,或Update-Database以正确的顺序手动运行命令。(相反,如果您将数据库迁移到以前的版本,则相反)。这是“危险的”,但是可以做到的。

查看完整回答
反对 回复 2019-10-24
?
慕村9548890

TA贡献1884条经验 获得超4个赞

因此,我向项目添加了迁移,并创建了与ApplicationDbContext不同的上下文。我继续使用了大约6个月的与网站相关的数据作为上下文,然后是时候开始搞乱我的ApplicationUser了。我的基本登录和注册正在运行,但是我想扩展用户类以添加一些其他字段。这个答案对于为该上下文设置新的迁移配置非常有帮助。谢谢

查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 478 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信