У меня есть таблица в Microsoft SQL Server 2008 R2 с именем Page
с первичным ключом с именем ID
. У меня есть другая таблица с именем Navigation
со столбцом PageID
. PageID
— это уникальная ссылка внешнего ключа на столбец ID
таблицы Page
. Это создает отношение один к одному между записями Navigation
и Page
.
При создании моделей из базы данных создается отношение «один ко многим», где страница
содержит список записей навигации
.
Является ли это просто тем, что Entity Framework обнаруживает задействованный внешний ключ и игнорирует уникальность столбцов в базе данных?
SQL для столбца PageID
в Navigation
:
[PageID] INTEGER FOREIGN KEY REFERENCES [Page](ID) UNIQUE NOT NULL
SQL для столбца ID
в Page
:
[ID] INTEGER PRIMARY KEY IDENTITY(0, 1) NOT NULL
Вот решение, которое у меня было изначально, о котором упоминал Ладислав.
SQL для столбца PageID
в Navigation
был следующим:
[ID] INTEGER PRIMARY KEY FOREIGN KEY REFERENCES [Page](ID) NOT NULL