ASP.NET Core 3.1 使用EF迁移更新数据库后如何为属性添加数据注解
问题解决方案
DisplayFormat 是ASP.NET Core MVC层面的UI渲染注解,不会影响数据库表结构,你不需要调整已有的迁移记录,按以下步骤操作即可:
- 直接把
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]注解添加到DateOfBirth属性上即可,添加后注解直接生效 - 无需执行
Add-Migration和Update-Database命令
原理说明
EF Core的迁移仅会追踪会改变数据库映射结构的配置,比如字段长度、是否允许为空、数据类型、外键关联等,而Display、DisplayFormat这类注解仅作用于MVC的视图渲染、数据绑定逻辑,不会修改数据库表结构,所以不需要生成新的迁移。
如果你不放心可以加完注解后执行Add-Migration CheckDisplayFormat测试,生成的迁移文件的Up和Down方法都是空的,直接删除这个空迁移即可。
内容的提问来源于stack exchange,提问作者Oggie
相关产品推荐
相关产品推荐

