2012-02-16 21 views
1

SQL Server 2008テーブルのビットフィールドに既定値の0が追加されました。インサートはデフォルトで0になっておらず、まだNULLを配置しています...理由はわかりません。既定値が設定されていますがフィールドが更新されていません

このテーブルに新しいレコードを保存/挿入するために、Entity Framework 4を使用しています。

+2

あなたの 'INSERT'ステートメントはどのように見えますか? –

答えて

1

デフォルト値は、列に値が指定されていない場合にのみ機能します。 insert文がIsDeletedカラムにnull値を提供する場合、デフォルト値の代わりにnull値が格納されます。この場合、挿入文から列を削除するか、またはisnull()の値をデフォルト値の0にすることができます。

これが役に立ちます。

+0

すごいねえ、私は愚かなEFをDBの変更に合わせて更新する必要がありました。ゲイどのようなORMですか? – PositiveGuy

0

EFモデルのIsDeletedプロパティはnullですか?

あなたは既存のデータベースからあなたのエンティティモデルオブジェクトを生成したと思います。 IsDeletedはNULL可能な列です。これはIsDeletedプロパティのnullable型を持っている理由だと思います。

以下にしてみてください...

  • は、あなたの.edmxモデルファイルにアクセスしてください。
  • あなたはあなたがデフォルト値として0を入れて、[プロパティ]パネル
  • の「デフォルト値」を参照してくださいますMessages.IsDeleted
  • 選択プロパティ
  • 上で右クリックします。
+0

削除はもはやDBではnullableでなくなり、EFモデルをリフレッシュしました...同じ問題です。おかげさまであなたの提案をお試しさせていただきます。 – PositiveGuy

関連する問題