Dav*_*ray 9 entity-framework web-deployment ef-code-first azure-web-sites visual-studio-2015
在VS2015中,当我在发布向导中打开现有发布配置文件时,它会立即确定我的默认数据库不再是EF CodeFirst,并删除执行代码优先迁移的选项并将其替换为更新数据库.
不知何故,向导似乎决定这不再是CodeFirst项目,而是将其替换为DbDacFx,如下所示:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="DefaultConnection" Order="1" Enabled="True">
<Destination Path="Data Source=*" />
<Object Type="DbCodeFirst">
<Source Path="DBMigration" DbContext="m4d.Context.DanceMusicContext, m4d" MigrationConfiguration="m4d.Migrations.Configuration, m4d" Origin="Configuration" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
Run Code Online (Sandbox Code Playgroud)
转换为:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
<Destination Path="Data Source=*" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=*" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\DefaultConnection_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=*" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
Run Code Online (Sandbox Code Playgroud)
(我用*替换了各种连接字符串)
任何人都知道向导使用什么来决定这是CodeFirst项目?
本文http://blogs.msdn.com/b/webdev/archive/2014/04/09/ef-code-first-migrations-deployment-to-an-azure-cloud-service.aspx 提供了一些如何详细说明滚动自己的执行代码优先迁移选项的版本,是一个潜在的解决方法,但它过去只是工作.
在 .pubxml 文件中,必须将 ObjectGroup 重命名为 Dbcontext 的全名:m4d.Migrations.Configuration。否则,它似乎被忽略了。
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="m4d.Migrations.Configuration" Order="1" Enabled="True">
<Destination Path="Data Source=*" />
<Object Type="DbCodeFirst">
<Source Path="DBMigration" DbContext="m4d.Context.DanceMusicContext, m4d" MigrationConfiguration="m4d.Migrations.Configuration, m4d" Origin="Configuration" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |