我是lambda表达式中的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);
}