【问题标题】:ASP MVC + EF Code First - are data annotations for validation purposes only?ASP MVC + EF Code First - 数据注释是否仅用于验证目的?
【发布时间】:2012-09-20 13:23:47
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 2016-12-24
    • 2017-05-30
    • 2010-12-06
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多