Sac*_*nth 5 web-config entity-framework-5 entity-framework-migrations
我正在我的项目中实施代码优先迁移,并且不想一直在包管理器控制台中使用 Add-Migration 和 Update-Database。我希望对数据库的更新自动发生。
出于这个原因,我更新了我的 web.config 文件来做到这一点。我删除了我的数据库,但由于某种原因,当我启动应用程序时,它没有创建数据库。难道我做错了什么?
这是我的 web.config
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<contexts>
<context type="AuctionService.DataAccess.AuctionContext, AuctionService.DataAccess">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[AuctionService.DataAccess.AuctionContext, AuctionService.DataAccess], [AuctionService.DataAccess.Migrations.Configuration, AuctionService.DataAccess]], EntityFramework">
</databaseInitializer>
</context>
</contexts>
</entityFramework>
Run Code Online (Sandbox Code Playgroud)
编辑
我的代码在 WCF 服务中,当我调试这个服务时,我得到了这个
服务器在处理请求时遇到错误。异常消息是“无法更新数据库以匹配当前模型,因为存在挂起的更改并且自动迁移被禁用。将挂起的模型更改写入基于代码的迁移或启用自动迁移。将 DbMigrationsConfiguration.AutomaticMigrationsEnabled 设置为 true 以启用自动迁移。
尝试确保您已在类的构造函数中将AutomaticMigrationsEnabled属性设置为。trueAuctionService.DataAccess.Migrations.Configuration
一旦这样做,如果有潜在的数据丢失,您也可能会收到异常;您可以通过将AutomaticMigrationDataLossAllowed属性设置为 来忽略这一点true。
例如:
internal sealed class Configuration : DbMigrationsConfiguration<AuctionContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
// AutomaticMigrationDataLossAllowed = true; // You may want this also, but be careful.
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定您是否可以在 .config 文件中设置它(找不到关于此的文档)。
我相信,当您最初设置迁移时,您可以通过运行命令来获取生成的 Configuration 类来为您设置该属性 Enable-Migrations –EnableAutomaticMigrations
| 归档时间: |
|
| 查看次数: |
7642 次 |
| 最近记录: |