2012-02-16 59 views
1

剛添加了默認值0到我的SQL Server 2008表中的位字段。插入不是默認爲0,它仍然將NULL到位......不知道爲什麼。默認值已設置但字段未更新

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

我們正在使用實體框架4保存/插入新記錄到該表。當該列被指定值

+2

什麼是你的'INSERT'聲明是什麼樣子? – 2012-02-17 00:02:04

回答

1

默認值纔有效。如果您的insert語句爲IsDeleted列提供空值,則將存儲空值而不是默認值。如果是這樣的話,你可以從任何insert語句刪除列或敷在isnull(),以0

希望這有助於的默認值。

+0

真棒是啊,我不得不手動更新愚蠢的EF來讓它匹配數據庫更改。蓋伊。這是什麼樣的ORM? – PositiveGuy 2012-02-17 06:59:20

0

你請將isDeleted屬性EF模型爲空?

我相信你根據現有的數據庫中的實體模型對象。 IsDeleted爲空欄。我認爲這是你擁有IsDeleted屬性的可空類型的原因。

請嘗試以下上...

  • 去你的.edmx模型文件。在Messages.IsDeleted
  • 選擇屬性
  • 右鍵單擊您會看到「默認值」屬性面板
  • 在你把0作爲缺省值。
+0

數據庫中的刪除不再爲空,我刷新了EF模型...仍然是同樣的問題。儘管謝謝,我會嘗試你的建議。 – PositiveGuy 2012-02-17 04:15:25