Я пытаюсь сделать это:Получение пользователя из базы данных и актерских к объекту пользователя
User user = (User)db.Users.Include("Sports").Where(a => a.UserId == currentUser.UserId);
Но я получаю ошибку произнесения.
Как я могу получить пользователя из базы данных и применить к объекту пользователя?
РЕШЕНИЕ:
User user = db.Users.Include("Sports").Where(a => a.UserId == currentUser.UserId).FirstOrDefault();
или
User user = db.Users.Include("Sports").SingleOrDefault(a => a.UserId == currentUser.UserId);
Вам нужно добавить '.FirstOrDefault()' в выражение LINQ - прямо сейчас вы получаете ** коллекцию ** объектов назад .... (ни один) –
Чтобы лучше объявить вы должны использовать ['Single'] (http://msdn.microsoft.com/en-us/library/bb535118.aspx) или [' SingleOrDefault'] (http://msdn.microsoft.com/en- us/library/bb549274.aspx) вместо 'Where', если вы ожидаете, что только один объект будет соответствовать вашему предикату. ... Также, что marc_s сказал. 'Where' возвращает IEnumerable. –
Теперь он работает с использованием либо SingleOrDefault, либо FirstOrDefault. Спасибо всем ! –