Member 8668966 Ответов: 0

Запрос 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 и снова добавить ее (при условии, что сначала будет создана база данных)

0 Ответов