Выберите идентификатор и сохраните его в переменной с помощью Entity Framework - PullRequest
1 голос
/ 30 мая 2020

Я идентифицирован как логин с помощью Windows Forms и Entity Framework. Я хочу иметь возможность выбрать идентификатор пользователя и добавить его в переменную, чтобы использовать его как своего рода переменную сеанса для всей системы.

Это код, который я использую

using (var context = new AppDbContext())
{   
    var id = context.user.Where(x => x.email == textBox1.Text)
                         .Select(x => x.userId ).SingleOrDefault();
}

MessageBox.Show("Id" +id);

Я получаю это сообщение по ящику:

idMicrosoft.EntityFrameworkCore.Query.Internal.EntityQueryable'1 [system.model.user]

Как лучше всего получить идентификатор и сохранить его в переменной, чтобы иметь возможность использовать его в других формах?

1 Ответ

2 голосов
/ 30 мая 2020

Я бы написал этот запрос как

var id = context.user.SingleOrDefault(u => u.Email == textBox1.Text)?.UserId

Убедитесь, что вы охраняете свой код вокруг того, что означает, если id имеет значение null. Если он не может быть нулевым и должен быть только , то Single() будет работать.

...