Может кто-нибудь сказать мне, есть ли способ наследования от базового класса при использовании DataContext и LINQ to SQL? У меня есть следующий класс:
[Table(Name="names")]
public class person : IPerson, INotifyPropertyChanged
{
private int ID;
private string Fname;
private string Mname;
.....
[Column]
public string firstname
{
}
}
Тогда у меня есть унаследованный класс:
public class child : person
{
private int isActive;
[Column]
public int isactive
{
}
public child(string firstname,...., int isactive):base(firstname,....)
{
}
}
Мой класс доступа к данным выглядит следующим образом:
[Database]
public class dataxist : DataContext
{
public dataxist(string username, string servername, string pword,
string dbname) : base(@"uid=" + username + ";server=" + servername + ";pwd='" + pword + "'" +
";database=" + dbname + ";")
{
}
public Table<names> names;
}
Когда я пытаюсь сделать вставку, используя дочерний класс, я получаю нулевую ошибку ссылки на объект при вызове InsertOnSubmit()
, хотя мой дочерний объект не null
(Примечание: я передаю объект, затем проверяю введите, чтобы определить, является ли это человек или дочерний объект, затем приведение к нужному объекту:
databaseInfo.child c = (databaseInfo.child)n;
cd.names.InsertOnSubmit(c);
Когда мой дочерний объект наследует от объекта person, он также наследует атрибут [Table(Names="names")]
? или нет? Есть предложения?