2010-10-15 49 views
0
partial void OnValidate(ChangeAction action) { 
if (!IsValid) 
throw new ApplicationException("Rule violations prevent saving"); 
} 

我下面这个教程:asp.net ChangeAction - 简单教程的问题

http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf

,我不能够编译上面的代码。它是在我的NerdDinner.Models.Dinner

我把它放在错误的位置?

这里的类:

public partial class Dinner { 
public bool IsValid { 
get { return (GetRuleViolations().Count() == 0); } 
} 
public IEnumerable<RuleViolation> GetRuleViolations() { 
yield break; 
} 
partial void OnValidate(ChangeAction action) { 
if (!IsValid) 
throw new ApplicationException("Rule violations prevent saving"); 
} 
} 

这里的错误即时得到

Error 1 The type or namespace name 'ChangeAction' could not be found (are you missing a using directive or an assembly reference?) 

请原谅初学者的问题,请让我知道如果你需要任何其他细节。即时通讯几乎可以肯定,我在这里失去了一些基本的东西任何人都可以请帮忙吗?通过必要的步骤来运行我?

+0

我们需要看到更多的代码,哪个类包含这个方法? – CodingGorilla 2010-10-15 17:27:03

+0

@gorilla:更新谢谢你的帮助 – 2010-10-15 17:28:33

+0

你有没有创建.dbml文件,你确定你拼写的一切都一样吗? :) – CodingGorilla 2010-10-15 18:08:10

回答

4

你被它的不合格的名称引用ChangeAction,所以你必须做出自己的命名空间,从你的模块可见:

using System.Data.Linq; 

如果上面给出了一个错误,你可能也应该在System.Data.Linq组件添加到您的项目的参考。

+0

非常感谢你! – 2010-10-15 20:20:52

+0

对我来说我需要将System.Data.Linq程序集添加到项目引用 – Rohit 2013-08-05 16:31:58