Entity FrameworkでフィールドをDBNullに設定する方法

dbnull entity-framework

質問

Entity FrameworkでフィールドをどのようにDBNullに設定しますか。フィールドは厳密に型指定されているため、DBNull.Valueと同じ値に設定することはできません。また、フィールドをDBNullに設定する方法もありません。これはやるべきことのように思えますが、多くのGoogleの調査の結果、私はそれについて何も見つけませんでした。

私はvb.netを使ってEntity Frameworkのdatetimeフィールドを設定しようとしています。これは私が書く必要があります

 myEntity.mydate = Nothing

これはフィールドをnullに設定せず、代わりにSQL Serverの有効な日付値ではないデフォルトの日付値に設定します。

受け入れられた回答

データベース内で列がNULL可能である場合、結果クラスもNULL可能プロパティーを持ちます。

たとえば、 OrderテーブルにCreatedDateというNULL可能なDatetime列がある場合、結果のOrderクラスは次のようになります。

public partial class Order: EntityObject
{
  ...
  private DateTime? _createdDate;
  ...
}

ObjectContext.SaveChanges()を呼び出したときに_ createdDateに値がない場合は、挿入または更新コマンドの一部としてSystem.DBNullが自動的にデータベースに送信されます。

これがAlexに役立つことを願っています


人気のある回答

フィールド値をnull設定してください。 Entity FrameworkはこれをSystem.DBNull変換します。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ