如何使用连接表从一个表中选择与其他表具有共同密钥的所有记录。我有表dbo.Patients和dbo.Hospitals和dbo.PatientHospitals,它们都有来自两个表的主键。我需要dbo中的所有recod。dbo.Hatals中的患者,即加入表dbo.PatientHospitals,如:
var currentHospital = db.Hospitals.Single(x => x.User_Id == UserID);
var model = db.Patients.Include("Hospitals")
.Select(x => x.Hospitals == currentHospital);
答案 0 :(得分:0)
在代码中,您不需要额外的表来实现简单的多对多关系。您可以像这样定义您的实体
public class Patient
{
...
public virtual ICollection<Hospital> Hospitals { get; set; }
...
}
public class Hospital
{
...
public virtual ICollection<Patient> Patients { get; set; }
...
}
然后你可以写currentHospital.Patients