【问题标题】:OnValidate() and LINQ to EntitiesOnValidate() 和 LINQ to Entity
【发布时间】:2009-06-02 23:18:11
【问题描述】:

我想实现一些业务规则验证,就像 Scott Guthrie 在他的 MVC Nerddinner 教程 (http://nerddinnerbook.s3.amazonaws.com/Part3.htm) 中所做的那样,但我在尝试这样做时遇到了问题。

Scott 在他的教程中使用了 Linq to SQL。他为他的数据对象创建了部分类,然后他实现了一个名为 OnValidate() 的部分方法,据他说,这是一个挂钩,当给定数据对象的数据持久化到数据库时会运行该挂钩。

public partial class Dinner {

  partial void OnValidate(ChangeAction action) {

    if (!IsValid)
      throw new ApplicationException("Rule violations prevent saving");
    }

}

我的问题是我正在使用 Linq to Entities,显然没有像上面那种可以使用的“挂钩”方法,或者至少我找不到它,如果有的话。谁能告诉我如何使用 Linq to Entities 执行此操作?

【问题讨论】:

    标签: .net linq-to-sql linq-to-entities partial-classes


    【解决方案1】:

    您可以在 linq-to-entities 中进行数据验证,但正如您所发现的,它与 linq-to-sql 不同。请参阅以下链接:

    data validation in linq-to-entities

    【讨论】:

      【解决方案2】:

      检查:

      【讨论】:

      • 您的链接似乎仅适用于 Linq to SQL,而不适用于 Linq to Entities。不幸的是,在保存期间进行数据验证时,适用于 Linq to SQL 的相同概念不适用于 Linq to Entities。
      • 没有。你错了。数据注释适用于任何类。 EF也生成了。除了您将使用 MetadataType 属性和定义此元数据类型的类。
      猜你喜欢
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2012-10-26
      • 2019-06-01
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多