Проблема в быстрой загрузке нескольких уровней свойств навигации в общем шаблоне хранилища - PullRequest
0 голосов
/ 23 декабря 2018

Я недавно начал использовать общий шаблон репозитория в своем новом приложении, я следовал этому руководству Криса Пратта Действительно общий репозиторий .Я с нетерпением загружаю свои свойства навигации в свой метод GetQueryable, как этот

if (includeProperties != null)
        {
            foreach (var includeProperty in includeProperties.Split
                (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                query = query.Include(includeProperty);
            }
        }
else
        {
            foreach (var property in context.Model.FindEntityType(typeof(TEntity)).GetNavigations())
                query = query.Include(property.Name);
        }

Теперь первый уровень свойств навигации загружается нормально, но если у меня есть свойство навигации внутри свойства навигации, то есть на втором уровне, это не такзагрузка, следовательно, возвращает ноль,

public partial class Project : Entity<int>
{
    public Project()
    {
        this.UserProjects = new HashSet<UserProject>();
    }
    [Required]
    public string Title { get; set; }
    public virtual ICollection<UserProject> UserProjects { get; set; }  
}

public class UserProject : Entity<int>
{
    public int UserId { get; set; }
    public virtual User User { get; set; }
    public int ProjectId { get; set; }
    public virtual Project Project { get; set; }
}

public class User : IdentityUser<int>
{
    public User()
    {
        this.UserProjects = new HashSet<UserProject>();
    }  
    public Photo Photo { get; set; }
    public virtual ICollection<UserProject> UserProjects { get; set; }             
}

Здесь, когда я запрашиваю Проекты, UserProjects заполняются правильно, и внутри UpserProjects Project также заполняется, но User является нулевым, хотя UserProject имеет userId.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...