Проблема заключается в попытке отобразить наследование с учетом существующей структуры таблицы.Эта таблица также используется устаревшими приложениями, использующими raw sql, т. Е. Таблица не может удалить какие-либо существующие детали схемы, но может добавить к ней больше.
Существующая таблица уже сопоставлена и, по сути, имеет кучуполей со следующей проблемой ....
существующий класс
class A
{
// Id etc
public virtual Client Client { get; set; }
}
со структурой таблицы, такой как
table A (
Id INT IDENTITY NOT NULL,
Client_id INT null,
primary key (Id)
)
Теперь я хочу представить базовый класс
class Base
{
// Id etc
public virtual Client Client { get; set; }
}
, в результате чего появится таблица типа ...
table Base (
Id INT IDENTITY NOT NULL,
Client_id INT null,
primary key (Id)
)
и изменится A на
class A : Base
{
// clients moved to the base...
}
, что приведет ктаблица: -
table A(
Base_id INT IDENTITY NOT NULL,
Id INT not null, // I will need to keep the existing Id field...
Client_id INT null, // this Client now conflicts with the Base client
primary key (Base_id)
)
Я использую таблицу для наследования классов.
проблема в том, что ...
«Клиент» будет на таблице «База ", а также это на существующей таблице" А ".Я хочу иметь возможность использовать «Клиент» на «А», как своего рода переопределение.
Как мне это сделать?я могу это сделать?
или возможно, что в таблице «Base» вообще нет «клиента», а затем во всех таблицах подкласса они определяют «клиент»?(что делает запрос интересным)