我正在尝试使用我的 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.");
}
}
}
由于这些错误,我无法编译:
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)'
我看不出我做错了什么。我以前做过。此外,在添加上述代码后,在引用由 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);