我有一个非常奇怪的问题,我似乎无法在谷歌上找到答案。
我目前有以下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
为空 - 应填充记录。
我甚至采用了Entity Framework生成的SQL并用它成功执行了它,直接在数据库中返回了pros和campagin事件。
我不知道该做什么 - 它很奇怪,我没有收到任何错误,只是一个空集。
如果您需要任何其他详细信息,请与我们联系!
答案 0 :(得分:0)
尝试
var prospects = db.Prospects.Include("CampaignEvents");
var value = prospects.FirstOrDefault(p=>p.CampaignEvents.Any());