【发布时间】:2013-07-29 15:02:40
【问题描述】:
我将 EF Database First 与现有的旧数据库一起使用。数据库中几乎每个字段都有一个 maxlength 值,我可以在 .edmx 文件中查看这个值。
例如,CCSTATUS 的一个字段是 nvarchar(20)。当用户输入超过 20 个字符时,它会清除 ModelState.IsValid,但会在 db.SaveChanges() 上抛出一个 DbEntityValidationException。
对于我添加了 DataAnnotations 的属性,当它们无法验证时,它们会添加模型错误,然后可以将其显示给用户以便进行更正。我知道我可以将[MaxLength(n)] 属性添加到模型元数据类中的所有属性中,但是当值大于财产?
编辑
感谢大家的回答。我最终使用EF Power Tools Reverse Engineer Code First 功能从我的数据库中生成 Code First 模型,其中包括适当的 maxlength 属性和其他必要的注释。
【问题讨论】:
-
我不知道有什么简单的方法可以做到这一点,但您可以查看link,看看是否有帮助
标签: c# asp.net-mvc entity-framework