如何在多个应用程序中获取多个上下文,以便在一个数据库中很好地协同工作

时间:2014-09-04 17:06:18

标签: c# .net entity-framework

我有两个申请。这两个应用程序都引用单个数据库。两者都使用Entity Framework 6.1 Code First并启用了迁移。

一个应用程序依赖于两个表。当这个应用程序运行时,如果数据库中已经不存在这些表,它会正常构建表,一切都很好。

第二个应用程序依赖于与第一个应用程序相同的两个表,再加上第三个应用程序。当这个应用程序独立安装并且表不存在时,它会根据需要创建三个表,一切都很好。

当我尝试安装两个应用程序时出现问题。第一个运行的应用程序很好,但第二个应用程序在尝试创建已存在的表时会抱怨,因为它们是由第一个创建的。

如果表已经存在并且满足我的配置中定义的模型,我需要指示什么才能告诉实体框架不尝试创建表,否则编写差异并安装它们?我尝试使用谷歌跟踪这一情况,但我不知道谷歌应该如何找到答案。

1 个答案:

答案 0 :(得分:0)

这只是一个理论,但请试一试。

  1. 在项目1中,创建一个迁移,并在其中放置两个应用程序使用的所有内容。

  2. 创建第二次迁移并将所有内容放入第一个项目将使用的内容中。

  3. 运行update-database

  4. 在项目2中,创建一个迁移,并在其中放置两个应用程序使用的所有内容。

  5. 将类重命名为与第一个项目中的名称相同的名称,例如656565_Init.cs

  6. 创建第二次迁移并将所有内容放入第二个项目将使用的内容中。

  7. 运行update-database

  8. 就像我说的,这只是一种理论。