2013-02-09 5 views
0

У меня есть две таблицы в базе данных SQL Server 2012 Express, которые определены следующим образом.Entity Framework 5 без добавления внешнего ключа

SampleTableOne ColumnName NVARCHAR (50) Первичный ключ Id ИНТ

SampleTableTwo Id ИНТ Первичный ключ ColumnName NVARCHAR (50)

При добавлении внешнего ключа с помощью следующей команды

ALTER TABLE SampleTableOne 
ADD FOREIGN KEY(Id) REFERENCES SampleTableTwo(Id) 
ON DELETE CASCADE 
ON UPDATE CASCADE 
GO 

Однако, когда я добавляю модели в Entity Framework, он не добавляет внешний ключ. Я выбрал «Включить столбцы внешних ключей в модели». Есть ли какой-то шаг, который мне не хватает?

EDIT:

я стремлюсь один к одному отношения.

+0

Предложение: Имя и номер являются зарезервированными ключевыми словами SQL Server. Это не полезно использовать в качестве имени столбца таблицы. Ваш DBA не понравится – Hiten004

+0

Я просто использовал числа в качестве примеров, Ill изменил его – tympaniplayer

ответ

1

в третий part и sixth part из Associations in EF Code First видел ограниченность общего первичного ключа объединения и утверждал, что этот тип ассоциации относительно редко и во многих схемах, один-к-одному и многозначной ассоциации представлена поле внешнего ключа и уникальное ограничение.

+1

Многозначная ассоциация сущностей по определению представляет собой набор ссылок на сущности. Ассоциации «один ко многим» являются наиболее важным видом ассоциации объектов, которая включает коллекцию. Мы заходим так далеко, чтобы препятствовать использованию более экзотических стилей ассоциаций, когда простую двунаправленную много-к-одному/один-ко-многим сделает эту работу. Связь «многие-ко-многим» всегда может быть представлена ​​как две ассоциации «один-два-один» с промежуточным классом. Эта модель обычно более легко расширяема, поэтому мы склонны не использовать ассоциации «многие-ко-многим» в приложениях. – zandi

+0

Предполагается, что это взаимно-однозначное соответствие, верно ли это? – tympaniplayer

Смежные вопросы