У меня есть 2 таблицы в моей базе данных:
Код: Выделить всё
CREATE TABLE `revisiones` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
---Irrelevant columns here---
PRIMARY KEY (`Id`),
---Irrelevant constraint and foreign keys here---
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `ficha_deposito` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`IdRevision` int(11) NOT NULL,
---Irrelevant Columns Here---
PRIMARY KEY (`Id`),
UNIQUE KEY `IdRevision_UNIQUE` (`IdRevision`),
CONSTRAINT `fk_ficdep_rev` FOREIGN KEY (`IdRevision`) REFERENCES `revisiones` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE,
---Irrelevant constraints here---
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Однако в файле edmx отношение сериализуется как коллекция:

Если я попытаюсь изменить это вручную (я бы предпочел этого не делать, потому что если мне придется перегенерировать модель, мне придется заново устанавливать значение вручную), то я получаю исключение:
Выполняется преобразование: кратность недопустима в роли «ficha_deposito» в отношении «fk_ficdep_rev». Поскольку свойства зависимой роли не являются ключевыми свойствами, верхняя граница кратности зависимой роли должна быть равна *.
Почему можно? Могу ли я изменить кратность отношения? review.ficha_deposito должен иметь значение null или быть простым объектом.
Подробнее здесь: https://stackoverflow.com/questions/391 ... collection
Мобильная версия