Entity FrameworkでDBNullにフィールドを設定するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/820752

  •  03-07-2019
  •  | 
  •  

質問

Entity FrameworkでフィールドをDBNullに設定するにはどうすればよいですか?フィールドは強く型付けされているため、DBNull.Valueに設定することはできず、フィールドをDBNullに設定する方法は見つかりませんでした。これは必要なことのように思えますが、多くのGoogleの調査の結果、何も見つかりませんでした。

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

 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 が自動的にデータベースに送信されます挿入または更新コマンドの一部として。

これが役立つことを願って アレックス

他のヒント

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

エンティティフレームワークを使用したことはありませんが、変数をnull許容型に変更できますか?

次のようなもの

dim entityVar as nullable(of date)

その後、= nothingを実行できますが、何も残りません。

しかし、私が言ったように、エンティティフレームワークを使用したことはありません

Googleで調べていると、 Microsoft Connectのバグレポート

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top