2017-03-21 1 views
-1

Ich arbeite mit ASP.NET MVC und ich habe ein Modell einer Stored Procedure, die ich mit EF Designer aus meiner bestehenden Datenbank erstellt. Hier habe ich meinen Code:Asp.Net Pass Parameter zu einer gespeicherten Prozedur MODEL in Entity Framework

public class SpGetClientPhonesController : ApiController 
{ 
    ShopEntities2 db = new ShopEntities2(); 
    public string Get() 
    { 
     var json = ""; 

     spGetRegister_Result objmodel = new spGetRegister_Result(*HERE I SHOULD SPECIFY THE SP INPUT PARAMETERS*); 


    } 
} 

Ich möchte dieses Modell verwenden, um die Daten abzurufen, die der Speicher Prozedur zurück, aber ich muß zuerst die Eingabeparameter angeben, dass dieser Shop Verfahren benötigt. Wie kann ich das machen??

Antwort

1

Wenn Ihr Modell aus der Datenbank generiert wurde und Sie Ihren gespeicherten Prozess darin referenziert haben.

Dann wird die Art und Weise würden Sie die gespeicherte Prozedur mit Entity Framework wie folgt aufrufen wäre:

using(var db = new ShopEntities2()) 
{ 
    int id = 1234; 
    var result = db.spGetRegister(id); //You should have intellisense here for your parameter(s) so `id` may not exactly correct but you get the idea. 
} 
-1

Ich grub und ein wenig mehr zu fragen, und ich war in der Lage, dieses Problem zu lösen. Wenn Stored Procedures mithilfe von Entity Framework in Modellen abgebildet werden, müssen Sie mit zwei Konzepten arbeiten. In meinem vorherigen Beispiel mit spGetRegister hatte ich bei der Erstellung meines Modells spGetRegister und spGetRegister_Result. Der SpGetRegister_Result ist derjenige, der behandelt, was die gespeicherte Prozedur zurückgibt und spGetRegister ist, was ich mit seinen Eingabeparametern aufrufen muss. Hier ist das Beispiel:

ObjectResult<spGetRegister_Result> newRecord = new spGetRegister_Result; 
newRecord = db.spGetRegister(IdClient:9587, IdSite:94); 

Von hier aus haben Sie die resultierende Zeile (n) der gespeicherten Prozedur auf die Variable newRecord und Sie können tun, was man will.

Verwandte Themen