ASP MVC + EF Code First - 仅用于验证目的的数据注释?

时间:2012-09-20 13:23:48

标签: asp.net-mvc entity-framework annotations ef-code-first

在我的应用程序中,我有数据库模型和视图表单模型。当我在我的视图表单模型属性中有数据注释验证输入时,我是否需要在我的数据库模型属性中复制这些注释?我的意思是,当我在某些属性上指定类似[Range(5,10)]的内容时,是否会对数据库进行任何更改?或者可能context.SaveChanges()使用这些注释来验证最终模型,然后再将其保存到数据库中?

重申:当我在我的视图模型类中已有数据注释时,是否有必要将数据注释放在我的数据库模型类中?

1 个答案:

答案 0 :(得分:2)

当您尝试将更改保存到数据库时,EF将使用DataAnnotations验证您的模型,因此它只是针对无效数据的另一层保护。如果输入了无效数据,Context将返回EntityValidationErrors。

一些要转换为SQL更新的DataAnnotations(必需和MaxLength会立即跳到脑海中),但其他人不会。