Я пытаюсь использовать определения метода расширяемости из моего файла 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 полностью захватил сгенерированный код.
EDIT
Вот другие половины частичных объявлений из сгенерированного кода:
// the class
public partial class LawEnforcementDataContext : System.Data.Linq.DataContext
// the methods
partial void InsertCourse(Course instance);
partial void UpdateCourse(Course instance);