public async Task <IActionResult> Get(Guid?id, CancellationToken cancellationToken = default) { if (id == null) { //IQueryable<User> q = _userRepository.AsQueryable( // new NavigationPropertyTree<User, object> // { // Path = u => u.TenantUsers // } //); //return Ok(q); IQueryable <User> q = _userRepository.AsQueryable() .Select(u => new User { Id = u.Id, Email = u.Email, Name = u.Name, //TenantUsers = u.TenantUsers TenantUsers = u.TenantUsers.Select(tu => new TenantUser { Id = tu.Id, Tenant = tu.Tenant, User = tu.User }).ToImmutableArray() }); return(Ok(q)); //return Ok(await _userRepository.GetAllAsync(null, cancellationToken)); } User user = await _userRepository.GetAsync(id.Value, u => new User { Id = u.Id, Email = u.Email, Name = u.Name }, cancellationToken); if (user == null) { return(NotFound()); } return(Ok(user)); }