C # хранилище ICollection ошибка навигации - PullRequest
0 голосов
/ 19 сентября 2018

Я застрял и мне нужна помощь.Проверка прав пользователя в методах контроллера, как показано ниже

                    if (User.IsInRole("CanAccessOnlyOwnDepartmentRequest"))
                    {
                        //CanAccessOnlyOwnDepartmentRequest yetkisinie sahipse
                        itemResult = await Repository.PaginatedListDescAsync(p => p.BranchAsset.BranchId == userBranchId &&
                            (p.AssigningUser.Employee.DepartmentId == branchUser.DataResult.Employee.DepartmentId ||
                                p.AssignedUser.Employee.DepartmentId == branchUser.DataResult.Employee.DepartmentId) &&
                            (p.Assignments.LastOrDefault().AssignUser.Employee.DepartmentId == branchUser.DataResult.Employee.DepartmentId),
                            p => p.Id, paging.PageIndex, paging.PageSize,GetNavigation:true);
                    }

, я пытаюсь проверить, что я хочу проверить Запрос -> Коллекции назначений для последнего элемента, назначенного пользователя и назначенного пользователя, идентификатор отдела, равен ли он пользователюкоторый запросил результат.

это мои определения сущности запроса части оценок

    private ICollection<RequestAssignment> _assignments;
    public virtual ICollection<RequestAssignment> Assignments
    {
        get => LazyLoader?.Load(this, ref _assignments);
        set => _assignments = value;
    }

Я использую EF Core 2.1 и LazyLoading для необходимого свойства сущности

ошибкаЯ сталкиваюсь с:

Свойство 'System.Guid DepartmentId' не определено для типа 'System.Collections.Generic.IAsyncEnumerable`1 [Q.Entity.Corporate.EmployeeEntity.Employee]' Имя параметра:свойство

РЕДАКТИРОВАНИЕ: Класс запроса

    public Guid? BranchAssetId { get; set; }
    public BranchAsset BranchAsset { get; set; }

    public Guid AssigningUserId { get; set; }
    public BranchUser AssigningUser { get; set; }

    public Guid AssignedUserId { get; set; }
    public BranchUser AssignedUser { get; set; }

    public Guid StateTypeId { get; set; }
    public RequestStateType StateType { get; set; }

    public Ticket Ticket { get; set; }
    public ICollection<RequestFeedback> Feedbacks { get; set; }
    public ICollection<RequestState> States { get; set; }
    public ICollection<RequestProcess> Process { get; set; }
    public ICollection<RequestMessage> Messages { get; set; }
    public ICollection<RequestAssignment> Assignments { get; set; }

Класс RequestAssignment:

    public Guid RequestId { get; set; }
    public Request Request { get; set; }

    public Guid AssignUserId { get; set; }
    public BranchUser AssignUser{ get; set; }

    public Guid AssignedUserId { get; set; }
    public BranchUser AssignedUser{ get; set; }

    public string Note { get; set; }

Класс BranchUser:

    public Guid EmployeeId { get; set; }
    public Employee Employee{ get; set; }

    public Guid BranchId { get; set; }
    public Branch Branch { get; set; }

    public Guid? ApplicationUserId { get; set; }
    public ApplicationUser ApplicationUser { get; set; }

    public ICollection<BranchUserRequestApproval> RequestApprovals { get; set; }

Класс сотрудника

    public Guid DepartmentId { get; set; }
    public Department Department { get; set; }
    public Person PersonInformation { get; set; }

    public Guid BranchId { get; set; }
    public Branch Branch { get; set; }
...