Поиск CustomerID путем сопоставления Customer.UserName с зарегистрированным пользователем - PullRequest
2 голосов
/ 22 марта 2012

Новое в MVC3 Razor - LINQ to SQL, потратив некоторое время, пытаясь найти, как:

Сопоставьте зарегистрированное имя пользователя с именем Customer.UserName, а затем выберите Customer.CustomerID для пользователя.

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

        return View();
    }

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Просто используйте фактическую переменную:

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 голос
/ 22 марта 2012

ВЫ используете "User.Identity.Name" неправильно. Вам необходимо использовать свойство в HttpContext

В более сжатой форме вы могли бы сказать

public ViewResult Index()
{
   var currentUser = Customer.Where(c => c.UserName == HttpContext.User.Identity.Name);
   return View(currentUser);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...