我正在使用 Entity Framework Core 构建一个 Web 应用程序。
我有一个带有属性的视图模型:
Public IEnumerable<AppointmentDTO> Appointments
Appointment
有外键 DoctorId
。
现在在我使用视图模型的视图中,我有:
@foreach (var doc in Model.Doctors)
{
var appointment = Model.Appointments?.FirstOrDefault(a => a.DoctorId == doc.Id);
}
问题是,对于所有约会,所有
DoctorId
都会返回为 null
,即使不是。
有人知道问题出在哪里吗?
预约模式
public int? DoctorId { get; set; }
public Doctor Doctor { get; set; }
医生模型
public List<Appointment>? Appointments { get; set; }
我认为这可能是因为
doctorId
可以为空,所以我将其设为必需,但这也不起作用。
公共课 AppointmentDTO { 公共整数?文档 ID { 获取;放; }
public Doctor Doctor { get; set; }
视图模型:
公共类CalendarViewModel { 公共 IEnumerable?医生{得到;放; }
public IEnumerable<AppointmentDTO>? Appointments { get; set; }
查看:
@model ClinicaApp.ViewModels.CalendarViewModel
@{ var selectedSections = ViewData["SelectedSections"] as List; }
<div class="paging"> <a href="#" class="previous" onclick="updateDate(-1)" id="arrow">« Previous</a> <input class="date" type="text" value="" id="flexCheckDefault"> <a href="#" class="next" onclick="updateDate(1)" id="arrow">Next »</a> </div> @if (Model.Doctors != null) { @foreach (var doc in Model.Doctors) { // var appointment = Model.Appointments?.FirstOrDefault( a => a.DoctorId ==1 ); var appointment = Model.Appointments?.FirstOrDefault(a => a.DoctorId == 1); if (appointment != null) Console.WriteLine("true"); } }