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.

War es hilfreich?

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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top