Mik*_*Dev 5 entity-framework entity-framework-5 visual-studio-2012 azure-web-sites azure-sql-database
我有一个使用Entity Framework 5.0和Code First的ASP.NET MVC应用程序.
我使用Visual Studio 2012发布了我的网站到Azure网站.除了没有将种子数据插入SQL Azure之外,一切似乎都有效; 该网站的工作,该数据库建成,但种子数据未插入.当我在本地计算机上运行时,一切正常.
根据我看到的示例,从Visual Studio 2012发布时,有一个名为"执行代码优先迁移"的选项(见下图).
但是当我尝试发布我的网站时,"执行代码优先迁移"选项不可用.
我相信这可能与我的解决方案配置方式有关.我有3个项目组成我的应用程序.
这一切都可以在我的本地电脑上运行.在大多数情况下,一切都适用于Azure; 网站工作,数据库建立,但没有插入种子数据.
对于我的场景,当我从Visual Studio 2012发布时,是否有任何建议如何将种子数据插入到SQL Azure中?
您需要手动编辑 pubxml 文件 (Properties/PublishingProfiles/YourName.pubxml) 才能显示该复选框。我有一篇博客文章描述了这种情况和解决方案:http://www.dominicstpierre.net/2012/11/enable-code-first-migrations-check-box.html
这部分需要手动修改
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="Namespace.Models.YourDBClass" Order="1" Enabled="True">
<Destination Path="your-connection-string-goes-here" />
<Object Type="DbCodeFirst">
<Source Path="DBMigration" DbContext="Namespace.Models.YourDBClass, AssamblyName" MigrationConfiguration="Namespace.Migrations.Configuration, Assambly" Origin="Convention" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
Run Code Online (Sandbox Code Playgroud)
通过继承 DbContext 的类更改 Namespace.Models.YourDBClass,更改 Namespace.Migratins.Configuration 以适合您的迁移配置命名空间,并使用您的 Assambly 名称更改 Assambly。
保存并打开发布向导,您将看到该复选框。
归档时间: |
|
查看次数: |
1975 次 |
最近记录: |