2009-04-22 7 views
1

ストアドプロシージャをコンテキストキャンバスにドラッグアンドドロップすると、ストアドプロシージャのパラメータ/引数はすべてnullになります。LinqToSqlストアドプロシージャは、常にパラメータをnullにできます。どうして?

これはなぜですか?それは、保存されたprocudure自体の中に私のパラメータをどのように宣言したのか?

手動でコンテキスト部分クラス(またはキャンバスにドラッグアンドドロップして、autogen'dコードから切り落とし、部分クラスに移動してnullables型を削除する)のストアドプロシージャメソッドを作成する方法はありますか。これを修正しますか?

それは本当にイライラ:(ストアドプロシージャへ

答えて

2

パラメータSQLにLINQのは選択の余地を持っているので、(あなたがテーブルの列に追加することができ、「NULL NOT」句に相当するものはありません)常にNULL可能ですが、その生成された方法でそれを反映する。

あなたの最善の策は、NULLが渡されるとエラーを発生させるか、またはデフォルト値でそれを置き換えるのいずれかされている場合(PROC自体に)チェックすることです。

+0

だから私ができることは何もありませんストアprocで「この引数はNULLにできませんか?」と定義します。 –

+0

私はそう信じません。間違ったオーブン! :) –

+0

あなたができることは、procでNULLをチェックして終了するか、RAISEHELL、err ERRORです。 – edosoft

関連する問題