2

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

重新假设:当我的视图模型类中已经有数据注释时,是否有必要在我的数据库模型类中放置数据注释?

4

1 回答 1

2

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

一些 DataAnnotations 转换为 SQL 更新(Required 和 MaxLength 立即跳到脑海),但其他人没有。

于 2012-09-20T13:40:16.537 回答