質問

linqから呼び出したいSPがあります。 SPには5つのパラメーターがありますが、そのうちの2つにのみ渡す/必要なだけです。

すべての5が必要なため、ビルドしないコードにパラメーターを追加するときにSPを呼び出す方法

役に立ちましたか?

解決

次のようなものがあります:

MyDbDataContext db = new MyDbDataContext();

db.MyStoredProc(customerID, "sometext", null, null, null);

成功/失敗は、最後の3つのパラメーターのNULLを処理するsproc内のSQLステートメントに依存します。

他のヒント

別のオプションは、ストアドプロシージャをDBMLに2回ドラッグし、渡したくないパラメーターを削除することです。

オーバーロード sproc呼び出し。

自分の前には持っていませんが、DataAccessName.csファイルに移動して、同じ署名でメソッド名を作成します

自動生成されたsprocメソッドのシグネチャ:

void sp_sproc(int a, int b, int c, int d, int e);

DataAccessName.csファイルでこれを作成します

void sp_sproc(int a, int b)
{
    this.sp_sproc(a,b,0,0,0);
}

paramsがnull可能の場合、次のように

void sp_sproc(int? a, int? b, int? c, int? d, int? e);

その後、あなたができる

void sp_sproc(int a, int b)
{
    this.sp_sproc(a,b,null,null,null);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top