我有一个非常奇怪的问题,我似乎无法在谷歌上找到答案。
我目前有以下 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 并执行它,它成功地直接在数据库中返回了前景和活动事件。
我不知道该怎么做——这很奇怪,我没有收到任何错误,只是一个空集合。
如果您需要任何其他详细信息,请告诉我!