在 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页面刷新