Получение элемента сущности по имени

#asp.net #entity

#asp.net #сущность

Вопрос:

Я пытаюсь создать форму входа с ASP.NET и entity framework. И у меня есть что-то вроде этого:
Account account2 = de.Accounts.Find(accountViewModel.Account.Username);
if(account2 != null)
{
if(PasswordHelper.VerifyHash(accountViewModel.Account.Password, "SHA512", account2.Password))
{
Session["username"] = account2.Username;
return View("intro");
}

Я знаю, что метод find заключается в поиске элементов по первичному ключу. Мой первичный ключ — «AccountId», но как я могу найти элемент по «учетной записи»? ПОЖАЛУЙСТА, ПОМОГИТЕ:((

Ответ №1:

Вы имеете в виду поиск учетной записи по номеру учетной записи? Какое бы свойство учетной записи ни использовалось для идентификации учетной записи, может быть полезен следующий linq:

 using System.Linq;

....
Account account2 = de.Accounts.FirstOrDefault(a => a.Prop == value);
  

например:

 Account account2 = de.Accounts.FirstOrDefault(a => a.UserName == accountViewModel.Account.Username);