什么可能导致种子方法重新运行?

时间:2014-10-01 15:33:11

标签: .net asp.net-mvc entity-framework migration

我正在使用EF6和MVC5。我已启用迁移并在配置文件中放置Seed方法。

我部署到IIS 7后,Seed方法不断运行!!这导致了问题here

我的理解是它应该只在向数据库进行迁移时运行。

我通过再次发布解决了这个问题没有检查(执行代码优先迁移...)

我的问题是:为什么种子方法重新运行?!这是正常的事情吗?

(适用EDIT)

你是对的Yuliam,当我发布并检查“执行代码优先迁移...”时,配置文件被修改并添加了以下内容:

<contexts>
  <context type="...my context here...">
    <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[...my context here...], [....Migrations.Configuration, ...]], EntityFramework, PublicKeyToken=some_token">
      <parameters>
        <parameter value="DefaultConnection_DatabasePublish" />
      </parameters>
    </databaseInitializer>
  </context>
</contexts>

那么,这是正常的吗?我应该每次发布都删除它吗?

1 个答案:

答案 0 :(得分:2)

再次感谢Yuliam,因为提及&#34; MigrateDatabaseToLatestVersion&#34;我指出了正确的方向。

简短的回答是认为Seed方法仅在新迁移时运行是错误的。

答案很长herehere