我有下列表格
患者
ID PatientName PatientIDNumber
---- ------------- -----------------
1 Jo 411420607
2 Mark 206047758
记录
ID DiseaseName PatinetID
---- --------------- -----------
1 Liver Disease 1
2 Heart Disease 1
3 Liver Disease 2
4 Heart Disease 2
每个病人都有很多记录
患者数据模型类
public class PatientEntity : BaseEntity
{
[Column("PatientName")]
[StringLength(150)]
public string Name { get; set; }
[Column("OfficialIDNumber")]
[StringLength(10), MinLength(10)]
public string IDNumber { get; set; }
[Column("SystemIDnumber")]
public int SystemID { get; set; }
[Column("PatientDateOfBirth")]
public DateTime? DateOfBirth { get; set; }
[Column("PatientEmailAdress")]
[StringLength(300)]
public string EmailAdress { get; set; }
public IEnumerable<LookupsEntity> MetaData { get; set; }
public IEnumerable<RecordEntity> Records { get; set; }
}
记录数据模型类
public class RecordEntity : BaseEntity
{
[StringLength(50)]
public string DiseaseName { get; set; }
public DateTime TimeOfEntry { get; set; }
[StringLength(300)]
public string Description { get; set; }
[ForeignKey("Patient")]
public int PatientId { get; set; }
public PatientEntity Patient { get; set; }
public BillEntity Bill { get; set; }
}
我想创建一个api,它将一个特定的病人id作为一个参数,以获取具有类似疾病的其他病人的列表
患者报告api结果(dto)
public class PatinetReportResource
{
public PatientResource patient { get; set; }
public IList<PatientResource> SimilarPatinets { get; set; }
}
注:类似疾病是指两位患者有2种或2种以上的共同疾病
如何在ef core 3.1中列出患有类似疾病的患者?
2条答案
按热度按时间bq8i3lrv1#
这是你所需要的,而不是依赖于你的疾病名称在同一顺序的赤裸裸的骨骼。
如果你需要其他信息,比如
PatientName
,您可以通过 Packageselect
在下面cte
然后join
在患者数据上:作为小提琴。
sd2nnvve2#
这是我对最初问题的解释。
最简单的方法是字符串聚合:
这是一把小提琴。