代码优先空导航属性
本文关键字:导航 属性 代码 | 更新日期: 2023-09-27 18:13:39
我有一个很奇怪的问题,我似乎在谷歌上找不到答案。
我目前有以下Code First/DB结构:
public class Prospect {
[Key]
public int ProspectId { get; set; }
public int ProspectCompanyId { get; set; }
public int? ImportUserId { get; set; }
public int? ProspectUserId { get; set; }
public int? SalesUserId { get; set; }
public int? CampaignId { get; set; }
[ForeignKey("CampaignId")]
public virtual ICollection<CampaignEvent> CampaignEvents { get; set; }
[ForeignKey("CampaignId")]
public virtual Campaign Campaign { get; set; }
}
public class CampaignEvent
{
[Key]
public int CampaignEventId { get; set; }
public int CampaignId { get; set; }
public int UserId { get; set; }
public string ActionType { get; set; }
public string ActionSubject { get; set; }
public string ActionTemplate { get; set; }
}
问题是,当我尝试返回如下查询:
var prospects = db.Prospects.Include("CampaignEvents");
prospects.First().CampaignEvents
是空的-当它应该被记录填充时。
我甚至采取了由实体框架生成的SQL并执行它,它成功地直接在数据库中返回前景和活动事件。
我不知道该怎么做——这很奇怪,我没有收到任何错误,只是一个空集合。
请让我知道如果你需要任何额外的细节!
try with
var prospects = db.Prospects.Include("CampaignEvents");
var value = prospects.FirstOrDefault(p=>p.CampaignEvents.Any());