4

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

5つすべてが必要なため、コードにパラメーターを追加するときにSPを呼び出すにはどうすればよいですか。

4

3 に答える 3

3

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

MyDbDataContext db = new MyDbDataContext();

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

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

于 2009-07-30T22:18:21.603 に答える
2

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

于 2009-07-30T22:21:29.007 に答える
1

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);
}

パラメータが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);
}
于 2009-07-30T22:17:39.920 に答える