Linq to SQL SPパラメーター
-
06-07-2019 - |
質問
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);
}
所属していません StackOverflow