【发布时间】:2014-12-12 16:33:21
【问题描述】:
我们有一个使用 Entity Framework 6.0 创建的应用程序,并使用 Code First 来创建我们的数据库模式。 DBA 在已经存在的表上创建了一个生产中的新列,并希望我们映射到它。
查看Entity Framework 4.1 code first mapping to already existing database table,我看到提到使用Ignore,但我们希望该字段被映射;我们只是不想创建它。
最坏的情况是,我们会让 DBA 将列值复制到一个新的临时列中,首先以传统方式使用代码创建它,然后再将其复制回来。不过,如果可能的话,我们宁愿让代码先处理它。理想情况下,如果它不存在,它会在 dev/test/uat 环境中创建该列,但不会在生产中将其删除。
【问题讨论】:
-
你在使用迁移吗?
-
是的,我们正在使用 MigrateDatabaseToLatestVersion 初始化程序。
-
酷。我假设您每次运行应用程序时也会看到一个错误,说它无法创建列,因为它已经存在?
-
是的,每次我们尝试运行应用程序时都会发生这种情况。收到一个错误,表明它无法创建列,因为它已经存在。
标签: c# entity-framework