linq から呼び出したい SP があります。SPには5つのパラメーターがありますが、そのうちの2つだけを渡したい/必要です。
5つすべてが必要なため、コードにパラメーターを追加するときにSPを呼び出すにはどうすればよいですか。
linq から呼び出したい SP があります。SPには5つのパラメーターがありますが、そのうちの2つだけを渡したい/必要です。
5つすべてが必要なため、コードにパラメーターを追加するときにSPを呼び出すにはどうすればよいですか。
次のようなものがあります。
MyDbDataContext db = new MyDbDataContext();
db.MyStoredProc(customerID, "sometext", null, null, null);
成功/失敗は、最後の 3 つのパラメーターで null を処理する sproc 内の SQL ステートメントに依存します。
もう 1 つのオプションは、ストアド プロシージャを DBML にもう一度ドラッグし、渡したくないパラメーターを削除することです。
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);
}