У меня есть устаревший дизайн базы данных, который я пытаюсь обойти с помощью EF 4. По сути, у меня есть две таблицы, которые ссылаются друг на друга, вызывая проблемы при попытке добавить новые записи.
Моя структура такова:
CREATE TABLE [dbo].[Account] (
[AccountId] INT IDENTITY (1, 1) NOT NULL,
[PrimaryPersonId] INT NULL,
[other columns])
CREATE TABLE [dbo].[Person] (
[PersonId] INT IDENTITY (1, 1) NOT NULL,
[AccountId] INT NOT NULL,
[other columns])
Персона имеет внешний ключ к учетной записи (AccountId), а учетная запись имеет внешний ключ к учетной записи (PrimaryPersonId). При создании новой учетной записи и лица, это, очевидно, проблема. В настоящее время решение состоит в том, чтобы использовать триггер вставки в таблице Person, который обновляет таблицу Account с новым PrimaryPersonId при создании лица.
Я бы хотел избежать необходимости в триггерах и перенести этот код в модель, если это возможно, чтобы было меньше "волшебства". Есть ли хороший способ сделать это с EF 4?