Why is one of my reference properties not being included when using LINQ to Entities Include()?

吃可爱长大的小学妹 提交于 2019-12-11 23:17:12

问题


I have the following property declarations and mappings (abridged classes):

public class Consumer: AuditableEntity
{
    public virtual Consumer Parent { get; set; }
    public virtual User User { get; set; }
    public virtual Role Role { get; set; }
    public virtual ICollection<Consumer> Consumers { get; set; }
}

public ConsumerMap()
{
    HasRequired(t => t.Role)
        .WithMany(t => t.Consumers)
        .Map(a => a.MapKey("RoleId"))
        .WillCascadeOnDelete(false);
    HasRequired(t => t.User)
        .WithOptional(t => t.Consumer)
        .Map(a => a.MapKey("UserId"))
        .WillCascadeOnDelete(false);
}

A manual database query confirms all joins are successful and in fact, a manual execution of the query sent by EF is successful. Yet when I use the following query, the User property on the two Consumer objects returned is null:

return CurrentDbContext.Consumers.Include("User").Include("Role").Where(e => !e.IsDeleted);

来源:https://stackoverflow.com/questions/10494086/why-is-one-of-my-reference-properties-not-being-included-when-using-linq-to-enti

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!