2009-05-04 11 views
8

Entity FrameworkでフィールドをDBNullに設定するにはどうすればよいですか?フィールドは厳密に型付けされているため、DBNull.Valueと等しく設定することはできません。フィールドをDBNullに設定するメソッドが見つかりませんでした。これは必要なことだと思われますが、Googleの多くの調査の後、私はそれについて何も見つかりませんでした。フィールドをEntity FrameworkでDBNullに設定するには

私は、Entity Frameworkでvb.netを使用してdatetimeフィールドを設定しようとしています。これは、これはnullにフィールドを設定する代わりに、SQL Serverの有効な日付値ではありませんデフォルトの日付値に設定しますしない

myEntity.mydate = Nothing 

を書くために私を必要とします。

答えて

14

場合は、結果のクラスがあまりにもNULL値可能性がありますことを発見Googleで見ながら、私は、エンティティフレームワーク

を使ったことがありません。例えば

OrderテーブルがNULL可能Datetime列が続いたOrderクラスの意志は、このようなものに見えますが、CreatedDate呼びかけている場合:_ createdDateはあなたがSystem.DBNull意志ObjectContext.SaveChanges()を呼び出して値がない場合

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

を挿入または更新コマンドの一部として自動的にデータベースに送信されます。

希望これは、あなたが適切なデータベースフィールドの値にnull値を受け入れるべき アレックス

+2

はい、正しいアレックスです。問題は私の側にあった。私がnullableと思ったフィールドはそうではありませんでした。 –

8

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

+0

最初に役立ちます。 – Blerta

+1

Nullを持たないvb.netを使用しています。代わりにNullの代わりにデフォルト値を設定するNothingを使用する必要があります。 –

+1

@Eric VB.NET "Nothing"はC#の "null" – splattne

0

私はentity-frameworkを一度も使用しませんでしたが、変数をnull可能な型にすることはできますか?その後、あなたは=何もできない、それは何も滞在しないだろう

dim entityVar as nullable(of date) 

よう

何か。

私が言ったように、私は列がデータベースにNULL可能であるbug report on Microsoft Connect

+1

model.designer.vbファイルでnullableに設定されていますが、それでもデータベースでnullに設定されていません。そのバグレポートは私の問題と似ています。これを行う方法が必要です。 vb.netでデータベース値をnullに設定せずにエンティティフレームワークを解放するとは思わないでしょう。 –

関連する問題