首先,让我们先说我是一个菜鸟。话虽如此,我正在使用带有 EF4.3.1 的 MVC3 使用 db first 方法在 C# 中构建一个 Web 应用程序。在登录过程中,我想设置一些在整个应用程序中使用的会话变量。
我的问题是我不确定如何将值读入会话变量。以下是当前在 AccountController.cs 中的代码:
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName,
model.RememberMe);
if (Url.IsLocalUrl(returnUrl)
&& returnUrl.Length > 1
&& returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//")
&& !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("",
"The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
从我读过的内容来看,我应该尝试使用 DbContext 来访问给定字段的属性,类似于:
using (var context = new DbContext())
{
var svc100 = context.SVC00100.Where(t =>
t.TECHEMAIL.Contains("model.UserName")
// Read the current value of the Name property
Session["Name"] = context.Entry(svc100).Property(u =>
u.Name).CurrentValue;
}
现在......我如何确定在第二个代码块中应该使用什么来代替 DbContext() ?如果我尝试使用下拉菜单并选择我需要的内容,我看不到与包含 DbContext 短语的我的实体 (CPLUEntities) 相关的任何内容。
我发现的一些链接: