public IAsyncEnumerable <PermissionIdentityViewModel> AsyncEnumerateIdentities() { PermissionsLogMessages.PermissionIdentitiesEnumerating(_logger); var result = _context .Set <PermissionEntity>() .Select(PermissionIdentityViewModel.FromEntityProjection) .AsAsyncEnumerable(); RepositoryLogMessages.QueryBuilt(_logger); return(result); }
public IAsyncEnumerable <int> AsyncEnumeratePermissionIds( Optional <IReadOnlyCollection <int> > permissionIds = default) { PermissionsLogMessages.PermissionIdsEnumerating(_logger, permissionIds); var query = _context.Set <PermissionEntity>() .AsQueryable(); RepositoryLogMessages.QueryInitializing(_logger, query); if (permissionIds.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(permissionIds)); query = query.Where(x => permissionIds.Value.Contains(x.PermissionId)); } RepositoryLogMessages.QueryTerminating(_logger); var result = query .Select(x => x.PermissionId) .AsAsyncEnumerable(); RepositoryLogMessages.QueryBuilt(_logger); return(result); }