Asp.net mvc 如何使用EF将参数传递给MVC3中的存储过程?
我有一个mvc 3应用程序,在这个应用程序中,我在会话对象中获取所有需要的值 作为参数执行存储过程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"] =
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个参数我如何才能获得这些值并将其传递给存储过程?