Ron*_*rby 7 c# linq oop partial-classes linq-to-sql
我试图使用我的datacontext.designer.cs文件中的扩展性方法定义来进行一些验证.
所以我创建了一个新文件并添加了这段代码:
public partial class LawEnforcementDataContext : System.Data.Linq.DataContext
{
partial void InsertCourse(Course instance) // this definition copied from generated file
{
ValidateCourse(instance);
this.ExecuteDynamicInsert(instance);
}
partial void UpdateCourse(Course instance) // this definition copied from generated file
{
ValidateCourse(instance);
this.ExecuteDynamicUpdate(instance);
}
private void ValidateCourse(Course instance)
{
if (instance.StartDate > instance.EndDate)
{
throw new ApplicationException("Start date cannot be later than end date.");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我因为这些错误而无法编译:
Error 1 No defining declaration found for implementing declaration of partial method 'LawEnforcementDataContext.InsertCourse(reservation.lawenforcement.Course)'
Error 2 No defining declaration found for implementing declaration of partial method 'LawEnforcementDataContext.UpdateCourse(reservation.lawenforcement.Course)'
Run Code Online (Sandbox Code Playgroud)
我不明白我做错了什么.我之前做过这个.此外,在添加上述代码之后,在引用LINQ to SQL创建的类的代码中,它抱怨我的实体类型不再存在.就像部分类LawEnforcementDataContext完全接管生成的代码一样.
以下是生成的代码中部分声明的另一半:
// the class
public partial class LawEnforcementDataContext : System.Data.Linq.DataContext
// the methods
partial void InsertCourse(Course instance);
partial void UpdateCourse(Course instance);
Run Code Online (Sandbox Code Playgroud)