在 MVC 中更改模型后如何更改数据库?

Posted

技术标签:

【中文标题】在 MVC 中更改模型后如何更改数据库?【英文标题】:How to change database after altering model in MVC? 【发布时间】:2014-04-05 14:46:53 【问题描述】:

我是 ASP.NET 的新手,我正在研究这个使用 MVC 的项目。这是一个简单的网站开发项目,它使用 SQL Server CE (.sdf) 作为数据库。

我想更改几个底层模型,但这会导致数据库出错。

我知道我需要更改数据库,并且我知道可以从数据库中自动创建模型。

我想知道是否有任何方法可以从模型创建数据库。即我不介意丢失所有数据,但有没有办法让我更改模型,然后创建一个支持现有模型的数据库。

我希望这是有道理的

【问题讨论】:

【参考方案1】:

是的,可以 这是你如何做到的。 有两种方法可以完成此任务。

方法一。 (通过包管理器控制台)

代码优先的这种方法。

打开你的项目并进入包管理器控制台,如下所示

Tools--> Nuget Package Manager--> Package Manager Console

首先在您的项目中启用迁移。在控制台中键入以下内容。

enable-migrations -contexttypename yourContextName

此命令将在您的项目中添加一个 Migrations 文件夹,您将在此文件夹中 查看此文件中的 Configuration.cs,您将看到一个种子方法

protected override void Seed(YourContext context)

您可以使用此方法为您的数据库播种。

现在在您的包管理器控制台中运行以下命令

add-migration anyNameOfInitialMigrations

最后要更新数据库,只需运行以下命令。

update-database

方法二。 模型优先的最佳方法。 打开您的 .edmx 文件。

Right Click--> on the model and then select "Generate Database From Model"

确保您的 web.config 中有正确的连接字符串。

【讨论】:

以上是关于在 MVC 中更改模型后如何更改数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 ASP.NET MVC 中 int 模型验证的 ErrorMessage?

键盘输入时,如何在Ajax调用URL更改后停止MVC页面刷新

如何防止excel保存后更改csv文件编码? [复制]

MVC3 - UpdateModel ...如何更改传入数据?

保存数据库控制器类 asp.net mvc5 身份中的更改

如何在 ASP.Net MVC Identity 2 中更改密码验证?