【问题标题】:Entity Framework/MVC3: temporarily disable validation实体框架/MVC3:暂时禁用验证
【发布时间】:2011-12-27 08:22:28
【问题描述】:

我首先使用 EF 代码。我大量使用代码注释来指定应如何验证数据(模型)。但是,通常我只需要在 UI 层进行验证,并且当我在代码中将某些数据保存到数据库时能够抑制验证。但是,一旦我指定了验证规则,它们就会被应用到任何地方——UI、数据库、数据访问层。

我能否在 EF 层暂时禁用模型验证,以便使用 SaveChanges() 保存数据而不会出现验证异常?

【问题讨论】:

    标签: .net entity-framework orm ef-code-first entity-framework-4.1


    【解决方案1】:

    您只需在调用SaveChanges() 之前在上下文类中设置Configuration.ValidateOnSaveEnabled = false

    context.Configuration.ValidateOnSaveEnabled = false;
    context.SaveChanges();
    

    【讨论】:

    • 我希望我在几周前就找到了。非常适合批量进口。
    • 这很有帮助!它也适用于 MVC 4 和 EF 6。我有一个 SQL Server 数据库,其中包含从 Lotus Notes 数据库转换而来的数据。我需要一种方法让应用程序让用户将状态列设置为“已归档”或“已删除”,而无需强制他们先更正数据(无论如何他们不会再使用该行)。在执行 .SaveChanges() 之前将 ValidateOnSaveEnabled 设置为 false 对我来说非常有效!
    • 有没有办法将不可为空的字段生成为 null,从而允许临时保存未验证的空字段?
    猜你喜欢
    • 2011-11-28
    • 2010-09-16
    • 2010-09-23
    • 2016-05-25
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多