0

私は現在、データベース内のすべてのストアドプロシージャに単純なC#ラッパークラスを記述しようとしています。このために、私はCodeSmith、特にSchemaExplorerを使用しています。

ストアドプロシージャのパラメータを反復処理しているときに、プロパティParameterSchema.AllowDBNullに気づき、これが何のためにあるのか疑問に思いました。私の知る限り、パラメータをNOT NULLとして宣言することはできないため、どのパラメータにもNULLを渡すことが常に許可されています。

テストを通じて、AllowDBNullは常にtrueであるように見えます(または、少なくとも、falseになるプロシージャを作成できませんでした)。それで、これは私にそれが何のためにあるのかを尋ねるように導きますか?

2003年にCodeSmithフォーラムからこの投稿を見つけました:http: //community.codesmithtools.com/Support_Forums/f/3/t/264.aspx

彼らは、次のリリースでこれを「修正」すると言っており、このプロパティについて私が見逃している、または理解していないことがあると思います。

見てくれてありがとう。

4

1 に答える 1

1

私はCodeSmithToolsで働いており、あなたの質問からフォーラムの投稿を更新しました。この問題についてEricに相談したところ、ストアドプロシージャパラメータにいつでもnullを渡すことができるため、これは仕様によるものであると判断しました。質問の一部として、これは基本クラスで定義されているプロパティであり、オブジェクトがnull許容かどうかを他のスキーマオブジェクト(EG、ColumnSchema)で検出できるようにします。

CommandWrapperテンプレートは、既存のストアドプロシージャまたは関数から強い型のクラスを生成します。これを見る機会がありましたか?

于 2011-08-11T17:01:26.940 に答える