Я создал класс баса в LinqToSql, который имеет 2 подкласса. Мне нужно назначить разные хранимые процедуры для каждого из пользовательских методов обновления подклассов. Это нормально, но я получаю сообщение об ошибке «Неверное имя объекта« xxx »».
например.
DataClasses1DataContext dc = new DataClasses1DataContext();
Class2 c2 = new Class2() { ID = 1, Name = "test", Type = "s" };
dc.Class1s.InsertOnSubmit(c2);
dc.SubmitChanges();
... Class2 наследует Class1, а Class2 имеет свой собственный метод INSERT (именно это я и хочу, чтобы он выполнял).
спасибо.
РЕШЕНИЕ : ответ Брайана дал мне то, что я преследовал. Вот код, который я добавил в класс позади дизайнера:
partial class DataClasses1DataContext
{
partial void InsertClass1(Class1 instance)
{
instance.Insert(this);
}
}
partial class Class1
{
public abstract void Insert(DataClasses1DataContext dataContext);
}
partial class Class2
{
public override void Insert(DataClasses1DataContext dataContext)
{
dataContext.InsertSP(((System.Nullable<int>)(ID)), Name);
}
}
partial class Class3
{
public override void Insert(DataClasses1DataContext dataContext)
{
dataContext.InsertSP2((System.Nullable<int>)(ID), Name);
}
}
Хранимые проки InsertSP и InsertSP2 были перенесены с помощью конструктора, чтобы избавить меня от необходимости вручную вызывать sp.
ВСЕ КРЕДИТ БРИАНУ НА ЭТО ОДИН