【发布时间】:2014-12-21 10:51:52
【问题描述】:
我是一名初级开发人员,对应用程序变量不熟悉。我有一个返回一个小的查找表的存储过程。我想将结果集存储在应用程序变量中,以便应用程序可以使用它,但不能像静态那样可会话。
在我的 global.asax 中:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Application["lookup"] = FunctionThatGetsSprocResult();
}
我的数据库调用函数:
internal static ObjectResult<GetLookupTable_Result> FunctionThatGetsSprocResult()
{
ObjectResult<GetLookupTable_Result> result;
using (dbContext db = new dbContext())
{
result = db.GetLookupTable();
}
return result;
}
在我的控制器中:
public ActionResult Index()
{
var myVar = (ObjectResult<GetLookupTable_Result>)HttpContext.Application["lookup"];
return View();
}
忽略它实际上并没有对 myVar 执行任何操作这一事实,当我快速查看它时,我收到一个错误 当数据读取器关闭时调用“读取”不是有效操作 谷歌搜索后发现了一些线程,但最终没有帮助。我想将结果集存储在可管理的结构中,例如字典或其他东西。
MVC 4.5,EF 6。
【问题讨论】:
标签: c# entity-framework stored-procedures model-view-controller