Значение по умолчанию установлено, но поле не обновляется - PullRequest
1 голос
/ 17 февраля 2012

Просто добавил значение по умолчанию 0 в мое битовое поле в моей таблице SQL Server 2008. Вставки по умолчанию не равны 0, и все еще помещается NULL на место ... не знаю почему.

ALTER TABLE [dbo].[Messages] 
  ADD  CONSTRAINT [DF_Cars_IsDeleted]  DEFAULT ((0)) FOR [IsDeleted]

Мы используем Entity Framework 4 для сохранения / вставки новых записей в эту таблицу.

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Значения по умолчанию работают только тогда, когда для столбца не указано значение. Если ваш оператор вставки предоставляет нулевое значение для столбца IsDeleted, тогда нулевое значение будет сохранено вместо значения по умолчанию. В этом случае вы можете либо удалить столбец из оператора вставки, либо заключить его в isnull() со значением по умолчанию 0.

Надеюсь, это поможет.

0 голосов
/ 17 февраля 2012

Свойство IsDeleted в вашей модели EF имеет значение null?

Я считаю, что вы сгенерировали объект вашей модели сущности из существующей базы данных. IsDeleted является нулевым столбцом. Я думаю, что это причина того, что у вас есть обнуляемый тип для свойства IsDeleted.

пожалуйста, попробуйте следующее ...

  • перейдите в файл модели .edmx.
  • щелкните правой кнопкой мыши на Messages.IsDeleted
  • выбрать свойство
  • Вы увидите «Значение по умолчанию» на панели свойств
  • Вы ставите 0 в качестве значения по умолчанию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...