我有一个使用 Entity Framework 5.0 和 Code First 的 ASP.NET MVC 应用程序。
我已使用 Visual Studio 2012 将我的网站发布到 Azure 网站。除了种子数据没有插入 SQL Azure 之外,一切似乎都正常工作;网站正常工作,建立数据库,但未插入种子数据。当我在本地机器上运行它时,一切正常。
根据我看到的示例,从 Visual Studio 2012 发布时,有一个名为“执行代码优先迁移”的选项(见下图)。
但是当我尝试发布我的网站时,“执行代码优先迁移”选项不可用。
我相信这可能与我的解决方案的配置方式有关。我有 3 个项目构成我的应用程序。
- 网站——这是一个 ASP.NET MVC 项目。它确实有一个参考实体框架,但所有数据访问代码(DBContext)都在数据项目中
- 域——这是一个类库。它没有对实体框架的引用
- 数据——这个项目参考了实体框架。我有一个继承自 DbMigrationsConfiguration 的配置类。在这个配置类中,我重写了 Seed 方法。
同样,这一切都适用于我的本地电脑。大多数情况下,一切都在 Azure 上运行;网站正常工作,建立数据库,但未插入种子数据。
对于我的场景,当我从 Visual Studio 2012 发布时,是否有任何建议如何将种子数据插入 SQL Azure?