Проблема с наследованием - PullRequest
       13

Проблема с наследованием

1 голос
/ 30 апреля 2011

Может кто-нибудь сказать мне, есть ли способ наследования от базового класса при использовании 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")]? или нет? Есть предложения?

...