gpt4 book ai didi

web-config - EF 迁移的 Web.config 配置

转载 作者:行者123 更新时间:2023-12-02 00:15:50 25 4
gpt4 key购买 nike

我正在我的项目中实现代码优先迁移,并且不想一直在包管理器控制台中使用 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>

编辑

我的代码在 WCF 服务中,当我调试这个服务时,我得到了这个

The server encountered an error processing the request. The exception message is 'Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.'

最佳答案

尝试确保您已设置 AutomaticMigrationsEnabled属性(property)到true在您的 AuctionService.DataAccess.Migrations.Configuration 的构造函数中类(class)。

一旦这样做,如果有潜在的数据丢失,您也可能会收到异常;您可以通过设置 AutomaticMigrationDataLossAllowed 来忽略这一点。属性(property)到true .

例如:

internal sealed class Configuration : DbMigrationsConfiguration<AuctionContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
// AutomaticMigrationDataLossAllowed = true; // You may want this also, but be careful.
}
}

我不确定您是否可以在 .config 文件中设置它(找不到关于此的文档)。

我相信,当您最初设置迁移时,您可以通过运行命令 Enable-Migrations –EnableAutomaticMigrations 来获取生成的 Configuration 类来为您设置该属性。

关于web-config - EF 迁移的 Web.config 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13213981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com