Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架代码优先-模型更改打破种子_Entity Framework - Fatal编程技术网

Entity framework 实体框架代码优先-模型更改打破种子

Entity framework 实体框架代码优先-模型更改打破种子,entity-framework,Entity Framework,我们使用实体框架代码First5已经有一段时间了,没有什么大问题 我最近发现,我对模型所做的任何更改,如添加字段或删除字段,都意味着Seed方法不再运行,而数据库处于无效状态 如果我反转更改,seed方法运行良好 我尝试过对模型的不同部分进行更改,因此与此相关的不是具体的更改 有人知道我如何调试具体问题是什么,或者b自己遇到这个问题并知道如何修复它吗 更新:在模型更改之后,无论我查询数据库多少次,它都没有运行种子。但是,我发现,如果我手动运行IISRESET,然后重新执行执行查询的web服务,它

我们使用实体框架代码First5已经有一段时间了,没有什么大问题

我最近发现,我对模型所做的任何更改,如添加字段或删除字段,都意味着Seed方法不再运行,而数据库处于无效状态

如果我反转更改,seed方法运行良好

我尝试过对模型的不同部分进行更改,因此与此相关的不是具体的更改

有人知道我如何调试具体问题是什么,或者b自己遇到这个问题并知道如何修复它吗

更新:在模型更改之后,无论我查询数据库多少次,它都没有运行种子。但是,我发现,如果我手动运行IISRESET,然后重新执行执行查询的web服务,它就会运行seed!有人知道为什么会这样,为什么我突然需要在数据库初始化和种子执行之间重置IIS吗


非常感谢Steve,没有错误。在任何地方创建数据库时,我希望存在的所有表都存在,但填充某些表的Seed方法没有执行,因此这些表中不存在任何关键数据。如果我只注释了模型更改,请删除DB并重试,它可以正常工作。正如我所说,我100%确信模型更改是有效的,因为它实际上是一个已经存在的字段的完整副本,我刚刚更改了名称以使其唯一。我也试过其他的表,所以不仅仅是那一个表。你试过自定义运行模型工具吗?我提到我首先使用EF代码,所以我不确定这是否相关?您是否从模型生成数据库?无效的种子意味着您需要重新生成DB-如果您更改模型,这是必需的。我使用的是MigratedatabaseTolatesVersion初始值设定项,该初始值设定项会自动执行迁移,并且到目前为止工作得很好。我还尝试让EF从头开始创建DB,正如您所说,在进行任何更改之前,它可以正常工作,在更改之后创建DB结构,但在我按照上面的更新中指定的方式手动设置之前,它无法运行种子。