Как обработать обнуляемое поле внешнего ключа в Entity Framework? - PullRequest
0 голосов
/ 19 августа 2010

У меня есть таблица с целочисленным полем Nullable, который является внешним ключом. Когда я пытаюсь установить для свойства Nullable модели сущностей значение True, я получаю сообщение об ошибке, в котором говорится, что поля типа Int32 не могут быть пустыми. Итак, если Entity Framework не поддерживает обнуляемые целые числа, как я могу вставить строки в таблицу с нулевым значением? Если значение для свойства NULL не указано, Entity Framework вставляет значение 0, которое выдает ошибку из-за ограничения внешнего ключа.

SQL Server работает с внешним ключом, допускающим нулевое значение, поэтому я хотел бы сохранить ограничение проверки на месте. Какие у меня есть варианты?

Заранее спасибо!

1 Ответ

2 голосов
/ 20 августа 2010

EF поддерживает поддерживает обнуляемый int.Но int и int?два разных типа.Создайте новую модель для столбца int, который может быть пустым, и вы увидите.

Причина, по которой обновление вашей модели не изменило множественность ассоциации, заключается в том, что EF пытается сохранить ваши настройки CSDL при обновлении.Он будет восстанавливать SSDL в основном с нуля и добавлять в CSDL любые новые объекты / отношения, но он не перезаписывает изменения, которые вы, возможно, внесли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...