Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何使用EF将参数传递给MVC3中的存储过程?_Asp.net Mvc_Asp.net Mvc 3_Entity Framework_Stored Procedures - Fatal编程技术网

Asp.net mvc 如何使用EF将参数传递给MVC3中的存储过程?

Asp.net mvc 如何使用EF将参数传递给MVC3中的存储过程?,asp.net-mvc,asp.net-mvc-3,entity-framework,stored-procedures,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,Stored Procedures,我有一个mvc 3应用程序,在这个应用程序中,我在会话对象中获取所有需要的值 作为参数执行存储过程 public ActionResult Index(string userAction) { if(Session["Mappings"] != null) ViewData["Message"] = "Mapping web grid"; if (Session["PricingSecurities"] =

我有一个mvc 3应用程序,在这个应用程序中,我在会话对象中获取所有需要的值 作为参数执行存储过程

  public ActionResult Index(string userAction)
    {
       if(Session["Mappings"] != null)           
            ViewData["Message"] = "Mapping web grid";

        if (Session["PricingSecurities"] == null)
            Session["PricingSecurities"] = objRepository.GetPricingSecurityID();
        if (Session["Cusips"] == null)
            Session["Cusips"] = objRepository.GetCUSIP();

        SecurityMappingModel objModel = null;
        mappings = (List<SecurityMappingModel>)Session["Mappings"];

        objModel = new SecurityMappingModel();


        if (userAction == "Update" )
        {
            //please tell me how can i take values from Session[Mappings] and pass it to stored procedure?

            return RedirectToAction("Index");
        }
        objModel.PricingSecirities = (List<SelectListItem>)Session["PricingSecurities"];
        objModel.Cusips = (List<SelectListItem>)Session["Cusips"];
        ViewBag.Mappings = mappings;
        return View(objModel);
    }
如果userAction是update,则执行存储过程

  public ActionResult Index(string userAction)
    {
       if(Session["Mappings"] != null)           
            ViewData["Message"] = "Mapping web grid";

        if (Session["PricingSecurities"] == null)
            Session["PricingSecurities"] = objRepository.GetPricingSecurityID();
        if (Session["Cusips"] == null)
            Session["Cusips"] = objRepository.GetCUSIP();

        SecurityMappingModel objModel = null;
        mappings = (List<SecurityMappingModel>)Session["Mappings"];

        objModel = new SecurityMappingModel();


        if (userAction == "Update" )
        {
            //please tell me how can i take values from Session[Mappings] and pass it to stored procedure?

            return RedirectToAction("Index");
        }
        objModel.PricingSecirities = (List<SelectListItem>)Session["PricingSecurities"];
        objModel.Cusips = (List<SelectListItem>)Session["Cusips"];
        ViewBag.Mappings = mappings;
        return View(objModel);
    }
public ActionResult索引(字符串userAction)
{
if(会话[“映射”]!=null)
ViewData[“Message”]=“映射web网格”;
如果(会话[“PricingSecurity”]==null)
会话[“PricingSecurities”]=objRepository.GetPricingSecurityID();
如果(会话[“Cusips”]==null)
Session[“Cusips”]=objRepository.GetCUSIP();
SecurityMappingModel objModel=null;
映射=(列表)会话[“映射”];
objModel=新的SecurityMappingModel();
如果(用户操作==“更新”)
{
//请告诉我如何从会话[Mappings]获取值并将其传递给存储过程?
返回操作(“索引”);
}
objModel.PricingSecurities=(列表)会话[“PricingSecurities”];
objModel.Cusips=(列表)会话[“Cusips”];
ViewBag.Mappings=映射;
返回视图(objModel);
}

如何从会话[Mappings]中获取值并将其传递给存储过程?

您需要执行以下操作:

    using (MyEntitiesDataModel context = new MyEntitiesDataModel())
    {
        context.ExecuteStoreCommand(
            "exec MyStoredProc @param1={0}, @param2={1}",
            Session["foo"], Session["bar"]);
    }

…其中,MyEntitiesDataModel是您的EF数据模型,MyStoredProc是存储过程的名称。

您使用的是实体框架吗?为什么没有人不知道如何在mvc中执行sp;(是的,我已经通过了…谢谢,但我想知道,在我的情况下,如何才能像在
会话[“映射”]
中那样执行这3个参数我如何才能获得这些值并将其传递给存储过程?