我试图使用我的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);
leppie.. 13
您的两个分部类在不同的名称空间中定义,因此编译器不会"共享"它们.
为此,DBML设计器中的Properties下有一个设置.也许重置?
您的两个分部类在不同的名称空间中定义,因此编译器不会"共享"它们.
为此,DBML设计器中的Properties下有一个设置.也许重置?