0

如何使用连接表从一个表中选择与其他表具有对应键的所有记录。我有表 dbo.Patients 和 dbo.Hospitals 和 dbo.PatientHospitals ,它们都有来自两个表的主键。我需要来自 dbo.Hospitals 中的 dbo.Patients 的所有记录,即加入表 dbo.PatientHospitals 中的记录,例如:

var currentHospital = db.Hospitals.Single(x => x.User_Id == UserID);

var model = db.Patients.Include("Hospitals")
              .Select(x => x.Hospitals == currentHospital);  
4

1 回答 1

0

在代码优先中,您不需要额外的表来实现简单的多对多关系。你可以像这样定义你的实体

public class Patient
{
    ...    
    public virtual ICollection<Hospital> Hospitals { get; set; }    
    ...
}

public class Hospital
{
    ...    
    public virtual ICollection<Patient> Patients { get; set; }    
    ...
}

然后你可以写currentHospital.Patients

于 2012-05-28T17:55:56.420 回答