0

セッションオブジェクトで、ストアドプロシージャを実行するためのパラメーターとして必要なすべての値を取得する mvc 3 アプリケーションがあります。

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

Session[Mappings] から値を取得してストアド プロシージャに渡すにはどうすればよいですか?

4

1 に答える 1

2

次のようにする必要があります。

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

...ここで、MyEntitiesDataModelは EF データ モデルで、MyStoredProcはストアド プロシージャの名前です。

于 2012-04-20T15:25:53.957 に答える