У меня есть база данных SQLite, которая была создана: nHibernate
3 "code first"; то есть модель была написана первой, и отображение было выполнено с помощью Fluent nHibernate
. База данных должна быть интегрирована в приложение, которое использует Entity Framework 6.1.3. Я не могу изменить структуру базы данных (нет ALTER TABLE
).Как сопоставить ассоциацию таблицы за тип?
Как настроить сопоставление?
Таблицы создаются следующим образом:
CREATE TABLE [Person] (
[Id] bigint NOT NULL
, [FirstName] text NULL
, [LastName] text NULL
, CONSTRAINT [sqlite_master_PK_Person] PRIMARY KEY ([Id])
);
CREATE TABLE [Patient] (
[Person_id] bigint NOT NULL
[Nickname] text NULL
, CONSTRAINT [sqlite_autoindex_Patient_1] PRIMARY KEY ([Person_id])
);
Класс иерархии Я хочу, чтобы это:
public class Person
{
pubic long Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Patient : Person
{
public string NickName { get; set; }
}
Все мои попытки карту не удалось, потому что, отображение (по крайней мере по умолчанию) выполняется по первичному ключу каждой таблицы, и они должны иметь одно и то же имя. В моем случае идентификатор равен ìd
в таблице Person
и Person_id
в таблице Patient
.