Есть ли способ выбрать столбец из свойства навигации на основе другого столбца? - PullRequest
0 голосов
/ 16 апреля 2019

Я новичок в Code First в лямбда-выражении.Мне сложно написать запрос.

У меня есть класс пользователей, который включает навигационное свойство с именем «Initials».

Я хочу выбрать столбец Code для IntialID, который является внешним в таблице Users, ноне может правильно.

Класс пользователей:

public class User
{
    public int UserID { get; set; }

    public short? InitialsID { get; set; }
    public virtual Initials Initials { get; set; }
}

Пользователи DAL:

        public User ValidateUser(string Username, string Password)
        {
            return uow.UserRepository.GetQueryable().Where(x => x.UserName == Username && x.Password == Password).FirstOrDefault();
        }

UsersRepo:

        public AbstractRepository<User> UserRepository
        {
            get
            {
                if (this.UserRepo == null)
                {
                    this.UserRepo = new AbstractRepository<User>(context);
                }
                return UserRepo;
            }
        }

Класс инициалов:

    public class Initials
    {
        public short? InitialsID { get; set; }
        public string Code { get; set; }
    }

Я пробовал это:

  public ActionResult Login(User model)
    {
        VAILCertificates.DAL.UserDAL userDAL = new DAL.UserDAL();
        VAILCertificates.DAL.Entities.User user = new User();
        user = userDAL.ValidateUser(model.UserName, model.Password);
        var query= user.Initials.InitialsID.Value.where() 
        if (user != null)
        {
            Session["User"] = user;
            return RedirectToAction("Index", "Certificates");
        }
        else
        {
            ModelState.AddModelError("", "Invalid Username or Password.");
        }
        return View(model);
    }
...