У меня есть два объекта: пресс и строчка:
Press
------------------
PressID
Name
Stitching
------------------
StitchingID
Name
Cost
Итак, на моем сайте, когда пользователь создает пресс, у него есть возможность создать шов для этой прессы. Пресс не должен шить.
Я использую Entity Framework 4, и если я получу объект Press из базы данных, я бы хотел сказать:
Press p = getPressFromDB(pressId);
if (p.Stitching != null)
{
float cost = p.Stitching.Cost;
}
И я бы тоже хотел иметь возможность:
Stitching s = getStitchingFromDB(stitchingId);
Press p = s.Press;
Как я могу создать отношение один к одному между этими двумя таблицами?
EDIT:
Я последовал совету пользователя на другом форуме и запустил этот скрипт, чтобы создать взаимосвязь между ними и предотвратить связывание швов с несколькими прессами:
CREATE TABLE PressStitching (PressID int NOT NULL PRIMARY KEY, StitchingID int NOT NULL,
CONSTRAINT FK_PressStitching_Press FOREIGN KEY(PressID) REFERENCES Press(PressID),
CONSTRAINT FK_PressStitching_Stitching FOREIGN KEY(StitchingID) REFERENCES Stitching(StitchingID),
CONSTRAINT UNQ_Stitching UNIQUE(StitchingID))
Но когда я обновляю свой файл .edmx, я все равно получаю отношение один ко многим. Пресс имеет одну строчку, но строчка имеет несколько сущностей пресса. Я обновил отношения в конструкторе .edmx так, чтобы у Press была Zero-or-One of Stitching, а у Stitching было One of Equipment. Но я не знаю, достаточно ли этого. Любой совет здесь?