【发布时间】:2020-11-26 20:27:02
【问题描述】:
我遇到了一个问题,即即使对象通过了 linq 测试,它们也会返回为 null,并且我可以看到 db 中的值,我不知道该去哪里解决这个问题。我通常不是 c# 开发人员,所以这对我来说是一个新领域。
我的桌子看起来像
Class Meeting {
...
public virtual List<MeetingParticipant> Participants { get; set; }
...
}
Class MeetingParticipant {
public bool isOrganiser { get; set; }
public Account Participant { get; set; }
public ParticipatingState ParticipatingState { get; set; }
public string responseText { get; set; }
}
我唯一的绑定是:modelBuilder.Entity<Meeting>().OwnsMany(meeting => meeting.Participants);
我的 linq 命令是:
var meetings = (from m in _context.Meetings
where m.Participants.Any(val => val.Participant.PhoneNumber == passedInPhoneNumber && val.ParticipatingState == ParticipatingState.Pending)
select m);
令人讨厌的是,当我深入研究返回的聚会对象时,有参与者但他们的 Account 对象为空。但是,要让聚会通过 linq 请求,它必须存在,这样我才能比较它的电话号码。 我错过了什么?
【问题讨论】:
-
您需要
Include()相关实体。