Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP MVC+;EF代码优先-数据注释是否仅用于验证目的?_Asp.net Mvc_Entity Framework_Annotations_Ef Code First - Fatal编程技术网

Asp.net mvc ASP MVC+;EF代码优先-数据注释是否仅用于验证目的?

Asp.net mvc ASP MVC+;EF代码优先-数据注释是否仅用于验证目的?,asp.net-mvc,entity-framework,annotations,ef-code-first,Asp.net Mvc,Entity Framework,Annotations,Ef Code First,在我的应用程序中,我有数据库模型和视图表单模型。当我的视图表单模型属性中有用于验证输入的数据注释时,是否需要在数据库模型属性中复制这些注释?我的意思是,当我在某些属性上指定类似于[Range(5,10)]的内容时,它会对数据库进行任何更改吗?或者,context.SaveChanges()是否在将最终模型保存到数据库之前使用这些注释来验证它 重新评估:当我的视图模型类中已经有数据注释时,是否有必要在我的数据库模型类中放置数据注释?EF将在您尝试保存对数据库的更改时使用数据注释验证您的模型,因此这

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


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

EF将在您尝试保存对数据库的更改时使用数据注释验证您的模型,因此这将是防止无效数据的另一层保护。如果输入无效数据,上下文将返回EntityValidationErrors


有些数据注释需要转换为SQL更新(必需的和MaxLength会立即跳到我的脑海中),但有些则不需要。

谢谢。我需要听听这个以下是将影响从MSDN生成数据库的列表