EntityFramework: отношение 1:0..1 десериализовано как коллекцияC#

Место общения программистов C#
Ответить
Anonymous
 EntityFramework: отношение 1:0..1 десериализовано как коллекция

Сообщение Anonymous »

У меня проблема с объектной платформой, которая сериализует отношение 1:0..1 между двумя таблицами как коллекцию.
У меня есть 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;
Как видите, редакция может быть связана как «нет» или «1 ficha_deposito» из-за уникального ограничения.
Однако в файле edmx отношение сериализуется как коллекция:
Изображение

Если я попытаюсь изменить это вручную (я бы предпочел этого не делать, потому что если мне придется перегенерировать модель, мне придется заново устанавливать значение вручную), то я получаю исключение:

Выполняется преобразование: кратность недопустима в роли «ficha_deposito» в отношении «fk_ficdep_rev». Поскольку свойства зависимой роли не являются ключевыми свойствами, верхняя граница кратности зависимой роли должна быть равна *.

Почему можно? Могу ли я изменить кратность отношения? review.ficha_deposito должен иметь значение null или быть простым объектом.

Подробнее здесь: https://stackoverflow.com/questions/391 ... collection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»