Запрос ASP.NET таблица identity (aspnetusers) для значения в пользовательском поле
Я добавил в поля таблицы AspNetUsers два поля (фамилия и имя), которые появляются в базе данных, как и ожидалось. Когда я пытаюсь получить значения в этих двух полях, я получаю красные линии под именами полей и сообщение об ошибке, указывающее, что поля не могут быть найдены. Какой запрос вернет эти значения? Я могу получить имя пользователя, вошедшего в систему, и отфильтровать запрос с его помощью.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.EntityFrameworkCore; using FSA.Data; using FSA.Models; using Microsoft.AspNetCore.Identity; namespace FSA.Pages.Activities { public class IndexModel : PageModel { private readonly FSA.Data.ApplicationDbContext _context; public IndexModel(FSA.Data.ApplicationDbContext context) { _context = context; } public IList<activity> Activity { get; set; } public async Task OnGetAsync() { // get user's Name (email address) from Identity (dbo.AspNetUsers) string userName = User.Identity.Name; // get users last and first name (fname) from Identity with userName as a filter var pubNameQuery = from n in _context.Users.AsNoTracking() where n.UserName == userName select n.LastName + ", " + n.FirstName; string fname = await pubNameQuery.SingleAsync(); } } }
MadMyche
Обновили ли вы сущность в своем проекте, чтобы отразить новые поля БД?
Member 8668966
Да.
Bryian Tan
попробуйте удалить сущность пользователя из edmx и снова добавить ее (при условии, что сначала будет создана база данных)