Linq to SQL SP Parameter
-
06-07-2019 - |
Frage
Ich habe einen SP, die ich von Linq anrufen möchten. Die SP haben 5 Parameter, aber ich möchte nur Pass / Notwendigkeit, 2 von ihnen.
Wie würde ich die SP nennen, wie wenn ich die Parameter im Code hinzufügen, gehen Sie zu, es wird nicht bauen, wie es alle 5 wollen.
Lösung
Sie würden etwas wie diese:
MyDbDataContext db = new MyDbDataContext();
db.MyStoredProc(customerID, "sometext", null, null, null);
Erfolg / Misserfolg würde in Ihrem sproc mit Nullen auf diesen letzten drei Parameter zu tun auf den SQL-Anweisungen ab.
Andere Tipps
Eine andere Möglichkeit ist, die gespeicherte Prozedur in Ihre DBML ein zweites Mal ziehen und löschen Sie die Parameter, die Sie wollen nicht in zu übergeben.
Überlastung der sproc Anruf.
Ich habe nicht es vor mir, aber sie würde goto Ihre DataAccessName.cs Datei und einen Methodennamen mit der gleichen Signatur erstellen
Auto gen'd sproc Methodensignatur:
void sp_sproc(int a, int b, int c, int d, int e);
Sie werden diese machen in Ihrer DataAccessName.cs Datei
void sp_sproc(int a, int b)
{
this.sp_sproc(a,b,0,0,0);
}
, wenn die params sind NULL-Werte zulässt, wie so
void sp_sproc(int? a, int? b, int? c, int? d, int? e);
dann könnten Sie tun,
void sp_sproc(int a, int b)
{
this.sp_sproc(a,b,null,null,null);
}