【发布时间】:2017-01-14 05:52:18
【问题描述】:
我正在使用 ASP.NET Core (RC2) 和 ORM 实体框架核心来实现 MVC-Web 应用程序。由于我已经有了数据库设计,我必须通过 Scaffold-DBContext 命令创建实体模型。
这很好用。现在,我想为生成的实体添加一些注释以添加验证。例如最大长度:
public class Blog
{
public int BlogId { get; set; }
[MaxLength(500)]
public string Url { get; set; }
}
如果有一些数据库更改,我必须再次使用脚手架命令。但这会导致一些附加注释的丢失。如何在不丢失实体模型的情况下更新它们?根据asp.net 页面或来自此topic,EF6 似乎是可能的。是否有类似的方法可以使用 EF7/Core 实现这一目标?
【问题讨论】:
-
EF Core 中没有“数据库优先”的方法。脚手架命令旨在让您首先从现有数据库中开始使用代码。此后,您应该使用迁移来根据模型的更改更新数据库架构。
-
EF Core 还可以基于现有数据库创建模型。这就是我所说的“ldatabase first”方法。你的意思是,我应该只使用一次该命令,并且每次对数据库进行迁移更改?例如:“Add-Migration UpdateTableUser”,然后是“Update-Database”
-
是的,我就是这个意思。
标签: c# entity-framework validation entity-framework-core ef-database-first