【问题标题】:Get value from db in list从列表中的 db 获取值
【发布时间】: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 像这样),这将解决您的问题

标签: c# asp.net asp.net-mvc entity-framework


【解决方案1】:

试试这个

patientname = db.Patients.Where(p => p.PatientId == m.PatientIdFk)
.Select(p => p.PatientName).FirstOrDefault()

【讨论】:

  • 我试过这个并得到这个错误:LINQ to Entities 不支持指定的类型成员“PatientName”。仅支持初始化器、实体成员和实体导航属性。
  • @Nic 请也发布患者课程
猜你喜欢
  • 2021-05-29
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-18
相关资源
最近更新 更多