gpt4 book ai didi

asp.net-mvc - 在 mvc 中启用自动迁移

转载 作者:行者123 更新时间:2023-12-01 14:02:52 26 4
gpt4 key购买 nike

我正在创建一个 MVC 应用程序,我经常在其中添加新类。由于这些类彼此相关,并且已经创建的表中的测试数据没有意义,所以我更喜欢使用 AutomaticMigrations。

我使用以下命令将数据库设置为初始状态。

Update-Database –TargetMigration: $InitialDatabase

但问题是它并不总是有效。它出错的可能原因是什么?我不熟悉代码优先迁移。

该错误主要是在运行时抛出的,表明 DbContext 已更改。在启用迁移之前,我确保现有表与删除的表之间没有依赖关系。我还收到一条错误消息,指出

Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong.

我正在寻找有关该主题的一般帮助。

最佳答案

首先,对于自动迁移,您应该在数据库上下文构造函数中设置数据库初始化程序。

public class YourDBContext: DbContext 
{
public YourDBContext(): base("ConnectionString")
{
Database.SetInitializer<YourDBContext>(new CreateDatabaseIfNotExists<YourDBContext>());
}

您还可以创建自定义数据库初始化器实现 CreateDatabaseIfNotExists<YourDBContext>用覆盖的种子方法提供初始数据。

其次,您应该使用程序包管理器控制台中的命令启用自动迁移 Enable-Migrations -EnableAutomaticMigrations

然后使用 Update-Database程序包管理器控制台中的命令将应用到数据库,您在上次迁移后所做的所有未决更改。

更新:使用 Verbose使用更新数据库命令查看生成了什么脚本

Update-Database –Verbose

关于asp.net-mvc - 在 mvc 中启用自动迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32838484/

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