2017-03-21 39 views
-1

我正在使用ASP.NET MVC,并且使用EF Designer从我的现有数据库中创建了存储过程的模型。在这里,我把我的代码:Asp.Net将参数传递给实体框架中的存储过程MODEL

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*); 


    } 
} 

我想用这个模型来检索该存储过程的回报,但我需要首先,这个存储过程需要指定输入的参数数据。我怎样才能做到这一点??

回答

1

如果您的模型已经从数据库中生成并且您的存储过程引用了它,

然后你的方式将调用实体框架的存储过程将如下所示:

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

我挖,并要求多一点,我能解决这个问题。当使用实体框架将存储过程映射到模型时,您必须使用2个概念。将我的prevoius示例用于spGetRegister,当我创建我的模型时,我使用了spGetRegister和spGetRegister_Result。 spGetRegister_Result是处理存储过程返回的那个人,并且spGetRegister是我必须用其输入参数调用的人。这里是例子:

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

从这里你有存储过程对变量newRecord结果行(S),你可以做任何你想做的事情。

相关问题