【发布时间】:2017-05-05 03:17:18
【问题描述】:
我已使用 ASP.NET Core 中的实体框架从现有数据库创建模型。
这是Market表的模型
public partial class Market
{
public Guid MarketId { get; set; }
public string City { get; set; }
public string CityF { get; set; }
public string Name { get; set; }
public string NameF { get; set; }
public int SortOrder { get; set; }
public bool IsActive { get; set; }
}
但是,我已将数据库中的 MarketId 数据类型更改为 int。现在我想更新模型。
找到了一些链接,但是这个链接再次创建了整个模型https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
如何在不创建新模型和使用appsettings.json 中的连接字符串的情况下更新模型?
【问题讨论】:
-
您可以使用带有
-force标志的Scaffold-DbContext命令。这样你就可以强制脚手架覆盖现有的模型文件。 -
手动更改不是最佳选择。
-
@sanket - 你能提供我的例子吗
-
@sanjaisy 这是示例命令 -
Scaffold-DbContext "<ConnectionString>" Microsoft.EntityFrameworkCore.SqlServer -t <tablename> -f替换 ConnectionString 和表名 -
另请注意,只要您在数据库中进行更改,例如添加或删除或更改列...当您强制更新脚手架时,您将丢失您所做的任何修改模型文件不是我能想到的为什么有人会这样做。
标签: c# asp.net-core entity-framework-core