Entity FrameworkでDBNullにフィールドを設定するにはどうすればよいですか
-
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のバグレポート