首先,让我们开始说我是菜鸟。这就是说,我正在使用数据库优先方法在C#中使用MVC3 w/EF4.3.1构建Web应用程序。在登录过程中,我想设置一些会在整个应用程序中使用的会话变量。DbContext的用法和属性值
我的问题是,我不知道如何去读取会话变量的值。下面是代码目前在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)相关的任何内容。
一些我发现的链接:
Implement custom “ValidateUser” in MembershipProvider
Entity Framework Working with Property Values
Using DbContext in EF 4.1 Part 5: Working with Property Values
你是如何开始的?在某些时候,您必须创建一个EF模型,可能包含从ObjectContext或DbContext派生的类。试着找到那个类并在你的'using'语句中使用它。 –