Entity Framework 4.1, таблицы для каждого типа наследования и таблицы поиска - PullRequest
0 голосов
/ 10 июня 2011

При использовании таблицы для каждого типа наследования можно иметь одинаковые данные с одним и тем же ключом в нескольких производных типах?

например,

Базовый тип:

[Table("BaseType")]
public abstract class BaseType
{
    public int Id { get; set; }
    public string Description { get; set; }
}

Производный тип A:

[Table("DerivedTypeA")]    
public class DerivedTypeA : BaseType {}

Производный тип B:

[Table("DerivedTypeB")]
public class DerivedTypeB : BaseType {}

Наряду с несколькими типами DerivedTypeA или DerivedTypeB у меня есть один конкретныйвведите оба типа DerivedTypeA и DerivedTypeB

Когда я заполняю базу данных, создавая новые DerivedTypeA и DerivedTypeB для этого типа, она добавляется дважды, с разными Id с.Хотя это и не конец света, я бы хотел, чтобы в двух производных таблицах было одинаковое Id.

Возможно ли это?

Заранее спасибо.

1 Ответ

0 голосов
/ 10 июня 2011

Если я вас правильно понимаю, вы описываете ситуацию множественного наследования, которая не поддерживается в C #. DerivedA не может быть DerivedB или наоборот, потому что они братья и сестры.

Эта статья помогает определить проблему и предлагает шаблон, который может помочь вам: http://www.codeproject.com/KB/architecture/smip.aspx

...