从列表中的 db 获取值
Posted
技术标签:
【中文标题】从列表中的 db 获取值【英文标题】:Get value from db in list 【发布时间】:2021-11-11 09:16:03 【问题描述】:我有以下代码。它给了我事件列表。在那我想得到病人的名字。
我有患者 ID,但我很困惑如何使用该 ID 获取患者姓名。
events = db.PTSessions.Where(x => x.OfficeIdFk == user.OfficeIdFk || x.PTIdFk == user.PTId).Where((a => a.AppointmentDate > start &&
(a.AppointmentTimeTo < end))).Select(m => new EventViewModel
id = m.SessionId,
title = m.AppointmentReason,
start = m.AppointmentTimeFrom,
end = m.AppointmentTimeTo,
allDay = false,
patientid = m.PatientIdFk,
appointmentstatus = m.AppointmentStatus,
patientname = db.Patients.Where(p => p.PatientId == m.PatientIdFk).Select(p => p.PatientName).ToString()
).ToList();
在上面的代码中,我无法获取患者姓名并且也出现错误。
谢谢
【问题讨论】:
请在帖子中包含错误描述。 @Jackdaw 我收到此错误:LINQ to Entities 不支持指定的类型成员“PatientName”。仅支持初始化器、实体成员和实体导航属性。 @Nic 您在 PTSessions 和患者实体之间有适当的关系吗?如果是,那么在 PTSession 实体中,您会找到 Patient 实体(x.Patient 像这样),这将解决您的问题 【参考方案1】:试试这个
patientname = db.Patients.Where(p => p.PatientId == m.PatientIdFk)
.Select(p => p.PatientName).FirstOrDefault()
【讨论】:
我试过这个并得到这个错误:LINQ to Entities 不支持指定的类型成员“PatientName”。仅支持初始化器、实体成员和实体导航属性。 @Nic 请也发布患者课程以上是关于从列表中的 db 获取值的主要内容,如果未能解决你的问题,请参考以下文章