альтернативный текст http://img16.imageshack.us/img16/8085/datacontext.jpg
Выше приведено представление конструктора LINQ to SQL для моего контекста данных.
Ниже приведен соответствующий код, который генерирует дизайнер:
Accessor для абстрактного класса ActivityBase:
public System.Data.Linq.Table<ActivityBase> ActivityBases
{
get
{
return this.GetTable<ActivityBase>();
}
}
Класс ActivityBase и список подклассов:
[Table(Name="dbo.Activities")]
[InheritanceMapping(Code="1", Type=typeof(ActivityBase), IsDefault=true)]
[InheritanceMapping(Code="2", Type=typeof(Project))]
[InheritanceMapping(Code="3", Type=typeof(ProjectActivity))]
[InheritanceMapping(Code="5", Type=typeof(Task))]
[InheritanceMapping(Code="4", Type=typeof(Activity))]
public abstract partial class ActivityBase : INotifyPropertyChanging, INotifyPropertyChanged
{
Есть ли способ генерировать методы доступа для подклассов, как показано в отображении наследования выше (Project, Task и т. Д.), Не делая это вручную? Я добавил их вручную, но затем изменения в конструкторе перезаписывают любые изменения вручную.
Я делаю это неправильно? я не должен делать аксессоры для подклассов? фильтрация из ActivityBase кажется мне хуже.
Спасибо за любую помощь в этом.