System.NotSupportedException: эта функция может быть вызвана только из LINQ to Entities.
У вас есть это исключение, потому что результат переменной yogaProfile
не является IQueryable
, которыйиспользуется Linq To Entities для выполнения запроса на стороне сервера.Чтобы сделать вашу переменную IQueryable
, вам нужно удалить метод расширения First()
, который вы используете в конце запроса, и заменить его на Take(1)
.
Таким образом, вместо
var yogaProfile = dbContext.YogaProfiles.Where(i => i.ApplicationUserId == userId).First();
Вы должны иметь это:
var yogaProfile = dbContext.YogaProfiles.Where(i => i.ApplicationUserId == userId).Take(1);
Обратите внимание, что с первым оператором вы имеете дело с Linq To Objects, когда выполняете Linq напеременная.Удалив метод расширения First()
и заменив его методом расширения Take()
, вы выполните Linq To Entites.