更新数据库,首先是代码,外键是必需的

时间:2017-02-23 00:44:07

标签: ef-code-first foreign-key-relationship seeding

首先使用代码我有这种情况:

我有一个现有的数据库,其中使用Code优先创建表。

突然知道程序中需要进行更改,并且有一个与主表相关的新表(其中包含现有数据)。

示例有一个表“Package”,新表是“PackageState”

步骤

  1. 创建具有一些属性的新域Packagestate。

  2. 在Package域中添加属性packagestate(FK)。(P) 请注意,packagestate是必需的。

  3. 在种子课程中,我为packagestate添加了一些数据

  4. 从这一点开始我遇到了问题,因为该值是必需的,并且播种方法仅在更新后执行。

    如何首先使用代码解决此问题?

    因为有可能还有新的迁移文件。

    我需要提前收到一些反馈意见!

1 个答案:

答案 0 :(得分:1)

您必须使外键可以为空并更新数据库 之后你可以运行你的种子。 毕竟你应该把你的外键改成不为空。