2011-03-11 6 views
0

[OK]を、だから私は亜音速2.xの経由nullにdatetime型の列を設定しようとしています経由でSQL2008に日付を保存します。亜音速2.xの

DateTime? dt = new DateTime(); 
dt= null; 
Datum pd = (new DatumCollection() 
        .Where(Datum.Columns.Data, cp[0].Data) 
        .Load())[0]; 

       pd.dtAcceptance = (DateTime)dt; 
       pd.Save(); 

データベース列がNULL値を許容するにもかかわらず、それは保存されませんし、私は」私はDateTime.MinValue(1/1/0001は私が推測する日付が早すぎる)に設定することを含むいくつかの他のオプションを試しました。私は 'Nullableオブジェクトは値を持っている必要があります'を取得します

私はかなり愚かな問題だと思うものを修正するいくつかの魔法の弾丸をここで検索してきました。私がそれを動作させるために変更する必要があるか、または日付が '1/1/1900'にNULLに変更する場合、SQL側でいくつかの愚かなトリガーを書く必要がありますか?

ヘルプと感謝!

スタック: "Nullableオブジェクトには値が必要です。" C:\ dev \ app \ server \ Services \ Decision内のServices.Decision.OnDecline(Int32 nParticipantID、Int32 nSessionID)のSystem.Nullable`1.get_Value() のSystem.ThrowHelper.ThrowInvalidOperationException(ExceptionResourceリソース) の 。 cs:行426

+0

「Nullableオブジェクトには値が必要です」という行は本当ですか?スタックトレースを投稿できますか? – skaz

答えて

1

Ahh。あなたはdtをDateTimeにキャストしていますが、null可能なDateTimeにキャストする必要があります(DateTime?)

+0

pd.dtAcceptanceはDateTimeではないDateTimeですか? SubSonicは、SubSonicテンプレートで何かを変更してnull可能な日付を許可する必要があるのか​​どうか疑問に思っていたので、それを生成しました。 –

+0

残念です - はい - フィールドにNULLが許可されている場合、テンプレートはnullable DateTimeでなければなりません。 – skaz

+0

heh、それをどこから変更するの?単純なタスクが悪化していますが、方向性の変更がありがたいです –