我有两个申请。这两个应用程序都引用单个数据库。两者都使用Entity Framework 6.1 Code First并启用了迁移。
一个应用程序依赖于两个表。当这个应用程序运行时,如果数据库中已经不存在这些表,它会正常构建表,一切都很好。
第二个应用程序依赖于与第一个应用程序相同的两个表,再加上第三个应用程序。当这个应用程序独立安装并且表不存在时,它会根据需要创建三个表,一切都很好。
当我尝试安装两个应用程序时出现问题。第一个运行的应用程序很好,但第二个应用程序在尝试创建已存在的表时会抱怨,因为它们是由第一个创建的。
如果表已经存在并且满足我的配置中定义的模型,我需要指示什么才能告诉实体框架不尝试创建表,否则编写差异并安装它们?我尝试使用谷歌跟踪这一情况,但我不知道谷歌应该如何找到答案。
答案 0 :(得分:0)
这只是一个理论,但请试一试。
在项目1中,创建一个迁移,并在其中放置两个应用程序使用的所有内容。
创建第二次迁移并将所有内容放入第一个项目将使用的内容中。
运行update-database
在项目2中,创建一个迁移,并在其中放置两个应用程序使用的所有内容。
将类重命名为与第一个项目中的名称相同的名称,例如656565_Init.cs
创建第二次迁移并将所有内容放入第二个项目将使用的内容中。
运行update-database
就像我说的,这只是一种理论。