为此我有3个型号:医院,AspNetUsers,UserHospitals。
这是UserHospitals模型:
public class UserHospital
{
[Key]
public int UserHospitalID { get; set; }
public int HospitalID { get; set; }
public Hospital Hospitals { get; set; }
public string Id { get; set; }
public ApplicationUser Users { get; set; }
}
有了它,我可以在此表中添加用户ID和医院ID。
现在,我需要检查用户所连接的医院。
在我的返回医院名单的控制器上,我只需要返回用户有联系的医院。
这将返回所有医院,如果用户与UserHospitals上的医院有联系,我该如何过滤它?
public ActionResult Index()
{
return View(db.Hospitals.ToList());
}
我不想添加一个连接模型或其他
的新视图模型==编辑==
医院模式
public class Hospital
{
[Key]
public int HospitalID { get; set; }
public string Name { get; set; }
public virtual ICollection<HospitalSpeciality> HospitalSpecialities { get; set; }
public virtual ICollection<UserHospital> UserHospitals { get; set; }
}
答案 0 :(得分:1)
试试这个:
public ActionResult Index()
{
var result =db.Hospitals.Include("UserHospitals").where(x=> x.UserHospitals.Any(x=>x.Id== userId)).ToList();
return View(result);
}