OnValidate()和LINQ to Entities

时间:2009-06-02 23:18:12

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

我想实现一些业务规则验证,如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进行此操作?

2 个答案:

答案 0 :(得分:2)

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

data validation in linq-to-entities

答案 1 :(得分:0)

检查: