我想实现一些业务规则验证,如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进行此操作?
答案 0 :(得分:2)
您可以在linq-to-entities中进行数据验证,但它与linq-to-sql不同,正如您所发现的那样。请参阅以下链接:
答案 1 :(得分:0)
检查: