2012-03-22 77 views
2

新建MVC3剃须刀 - LINQ to SQL的已经花了一些时间去寻找如何:查找客户ID通过匹配Customer.UserName以登录用户

匹配的loged上UsersName到Customer.UserName,然后选择客户.CustomerID为用户。

public ViewResult Index() 
    { 
     var CustomerID = from c in Customer 
      where c.UserName = "User.Identity.Name" 
      select c.CustomerID; 

     return View(); 
    } 

回答

3

只需使用的实际变量:

public ActionResult Index() 
    { 
     var CustomerID = from c in Customer 
      where c.UserName == User.Identity.Name //use double equals for comparison 
      select c.CustomerID; 

     return View(CustomerID); //or whatever your view is -- some typed object? 
    } 
1

您使用的 “User.Identity.Name” 是错误的。你需要使用属性中的HttpContext

在一个更简洁的形式,你可以说

public ViewResult Index() 
{ 
    var currentUser = Customer.Where(c => c.UserName == HttpContext.User.Identity.Name); 
    return View(currentUser); 
} 
相关问题