diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs index 69ad748307..17ff7e9f17 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs @@ -91,7 +91,7 @@ public class MongoTagRepository : MongoDbRepository new { x.Id, x.Name }) .ToListAsync(cancellationToken: GetCancellationToken(cancellationToken)); - var tagIds = tags.Select(x => x.Id); + var tagIds = tags.Select(x => x.Id).ToList(); var entityTagCounts = await (await GetQueryableAsync(cancellationToken)) .Where(q => tagIds.Contains(q.TagId)) diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs index 80ea4fca3d..29b9817e05 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityUserRepository.cs @@ -42,14 +42,14 @@ public class MongoIdentityUserRepository : MongoDbRepository r.OrganizationUnitId) - .ToArray(); + .ToList(); var organizationUnits = await (await GetQueryableAsync(cancellationToken)) .Where(ou => organizationUnitIds.Contains(ou.Id)) .ToListAsync(cancellationToken: cancellationToken); - var orgUnitRoleIds = organizationUnits.SelectMany(x => x.Roles.Select(r => r.RoleId)).ToArray(); - var roleIds = user.Roles.Select(r => r.RoleId).ToArray(); - var allRoleIds = orgUnitRoleIds.Union(roleIds); + var orgUnitRoleIds = organizationUnits.SelectMany(x => x.Roles.Select(r => r.RoleId)).ToList(); + var roleIds = user.Roles.Select(r => r.RoleId).ToList(); + var allRoleIds = orgUnitRoleIds.Union(roleIds).ToList(); return await (await GetQueryableAsync(cancellationToken)).Where(r => allRoleIds.Contains(r.Id)).Select(r => r.Name).ToListAsync(cancellationToken); } @@ -62,13 +62,13 @@ public class MongoIdentityUserRepository : MongoDbRepository r.OrganizationUnitId) - .ToArray(); + .ToList(); var organizationUnits = await (await GetQueryableAsync(cancellationToken)) .Where(ou => organizationUnitIds.Contains(ou.Id)) .ToListAsync(cancellationToken: cancellationToken); - var roleIds = organizationUnits.SelectMany(x => x.Roles.Select(r => r.RoleId)).ToArray(); + var roleIds = organizationUnits.SelectMany(x => x.Roles.Select(r => r.RoleId)).ToList(); var queryable = await GetQueryableAsync(cancellationToken); @@ -217,13 +217,13 @@ public class MongoIdentityUserRepository : MongoDbRepository r.OrganizationUnitId) - .ToArray(); + .ToList(); var organizationUnits = await (await GetQueryableAsync(cancellationToken)) .Where(ou => organizationUnitIds.Contains(ou.Id)) .ToListAsync(cancellationToken: cancellationToken); - var orgUnitRoleIds = organizationUnits.SelectMany(x => x.Roles.Select(r => r.RoleId)).ToArray(); - var roleIds = user.Roles.Select(r => r.RoleId).ToArray(); + var orgUnitRoleIds = organizationUnits.SelectMany(x => x.Roles.Select(r => r.RoleId)).ToList(); + var roleIds = user.Roles.Select(r => r.RoleId).ToList(); var allRoleIds = orgUnitRoleIds.Union(roleIds); return await (await GetQueryableAsync(cancellationToken)).Where(r => allRoleIds.Contains(r.Id)).ToListAsync(cancellationToken); } @@ -235,7 +235,7 @@ public class MongoIdentityUserRepository : MongoDbRepository r.OrganizationUnitId); + var organizationUnitIds = user.OrganizationUnits.Select(r => r.OrganizationUnitId).ToList(); return await (await GetQueryableAsync(cancellationToken)) .Where(ou => organizationUnitIds.Contains(ou.Id)) @@ -408,8 +408,8 @@ public class MongoIdentityUserRepository : MongoDbRepository new { userOrganizationUnit.UserId, userOrganizationUnit.OrganizationUnitId }) .GroupBy(x => x.UserId).ToDictionary(x => x.Key, x => x.Select(r => r.OrganizationUnitId).ToList()); - var organizationUnitIds = userAndOrganizationUnitIds.SelectMany(x => x.Value); - var roleIds = userAndRoleIds.SelectMany(x => x.Value); + var organizationUnitIds = userAndOrganizationUnitIds.SelectMany(x => x.Value).ToList(); + var roleIds = userAndRoleIds.SelectMany(x => x.Value).ToList(); var organizationUnitAndRoleIds = await (await GetQueryableAsync(cancellationToken)).Where(ou => organizationUnitIds.Contains(ou.Id)) .Select(userOrganizationUnit => new @@ -418,8 +418,7 @@ public class MongoIdentityUserRepository : MongoDbRepository x.Roles.Select(r => r.RoleId)).ToList(); - var allRoleIds = roleIds.Union(allOrganizationUnitRoleIds); - + var allRoleIds = roleIds.Union(allOrganizationUnitRoleIds).ToList(); var roles = await (await GetQueryableAsync(cancellationToken)).Where(r => allRoleIds.Contains(r.Id)).Select(r => new{ r.Id, r.Name }).ToListAsync(cancellationToken); var userRoles = userAndRoleIds.ToDictionary(x => x.Key, x => roles.Where(r => x.Value.Contains(r.Id)).Select(r => r.Name).ToArray()); @@ -477,7 +476,7 @@ public class MongoIdentityUserRepository : MongoDbRepository(cancellationToken)) .Where(ou => ou.Roles.Any(r => r.RoleId == roleId.Value)) .Select(userOrganizationUnit => userOrganizationUnit.Id) - .ToArray(); + .ToList(); query = query.Where(identityUser => identityUser.Roles.Any(x => x.RoleId == roleId.Value) || identityUser.OrganizationUnits.Any(x => organizationUnitIds.Contains(x.OrganizationUnitId))); } diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs index dbebab3b88..5babb7b1ce 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs @@ -69,7 +69,7 @@ public class MongoOrganizationUnitRepository CancellationToken cancellationToken = default) { return await (await GetQueryableAsync(cancellationToken)) - .Where(x => displayNames.Contains(x.DisplayName)) + .Where(x => displayNames.AsEnumerable().Contains(x.DisplayName)) .ToListAsync(GetCancellationToken(cancellationToken)); } @@ -107,7 +107,7 @@ public class MongoOrganizationUnitRepository bool includeDetails = false, CancellationToken cancellationToken = default) { - var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToArray(); + var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToList(); return await (await GetQueryableAsync(cancellationToken)) .Where(r => roleIds.Contains(r.Id)) @@ -125,10 +125,10 @@ public class MongoOrganizationUnitRepository CancellationToken cancellationToken = default) { var organizationUnits = await (await GetQueryableAsync(cancellationToken)) - .Where(ou => organizationUnitIds.Contains(ou.Id)) + .Where(ou => organizationUnitIds.AsEnumerable().Contains(ou.Id)) .ToListAsync(GetCancellationToken(cancellationToken)); - var roleIds = organizationUnits.SelectMany(ou => ou.Roles.Select(r => r.RoleId)).ToArray(); + var roleIds = organizationUnits.SelectMany(ou => ou.Roles.Select(r => r.RoleId)).ToList(); return await (await GetQueryableAsync(cancellationToken)) .Where(r => roleIds.Contains(r.Id)) @@ -141,7 +141,7 @@ public class MongoOrganizationUnitRepository OrganizationUnit organizationUnit, CancellationToken cancellationToken = default) { - var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToArray(); + var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToList(); return await (await GetQueryableAsync(cancellationToken)).Where(r => roleIds.Contains(r.Id)).CountAsync(GetCancellationToken(cancellationToken)); } @@ -155,7 +155,7 @@ public class MongoOrganizationUnitRepository bool includeDetails = false, CancellationToken cancellationToken = default) { - var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToArray(); + var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToList(); return await (await GetQueryableAsync(cancellationToken)) .Where(r => !roleIds.Contains(r.Id)) @@ -170,7 +170,7 @@ public class MongoOrganizationUnitRepository string filter = null, CancellationToken cancellationToken = default) { - var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToArray(); + var roleIds = organizationUnit.Roles.Select(r => r.RoleId).ToList(); return await (await GetQueryableAsync(cancellationToken)) .Where(r => !roleIds.Contains(r.Id)) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiResourceRepository.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiResourceRepository.cs index 42379b44f9..a7ab9f8037 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiResourceRepository.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiResourceRepository.cs @@ -29,7 +29,7 @@ public class MongoApiResourceRepository : MongoDbRepository apiResourceNames.Contains(ar.Name)) + .Where(ar => apiResourceNames.AsEnumerable().Contains(ar.Name)) .ToListAsync(GetCancellationToken(cancellationToken)); } @@ -37,7 +37,7 @@ public class MongoApiResourceRepository : MongoDbRepository ar.Scopes.Any(x => scopeNames.Contains(x.Scope))) + .Where(ar => ar.Scopes.Any(x => scopeNames.AsEnumerable().Contains(x.Scope))) .ToListAsync(GetCancellationToken(cancellationToken)); } diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiScopeRepository.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiScopeRepository.cs index 760bd0522c..d45c7925d7 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiScopeRepository.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoApiScopeRepository.cs @@ -31,7 +31,7 @@ public class MongoApiScopeRepository : MongoDbRepository scopeNames.Contains(scope.Name)) + .Where(scope => scopeNames.AsEnumerable().Contains(scope.Name)) .OrderBy(scope => scope.Id) .ToListAsync(GetCancellationToken(cancellationToken)); } diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoIdentityResourceRepository.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoIdentityResourceRepository.cs index 9a3ee0f815..fae6d7559b 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoIdentityResourceRepository.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoIdentityResourceRepository.cs @@ -54,7 +54,7 @@ public class MongoIdentityResourceRepository : MongoDbRepository scopeNames.Contains(ar.Name)) + .Where(ar => scopeNames.AsEnumerable().Contains(ar.Name)) .ToListAsync(GetCancellationToken(cancellationToken)); } diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Scopes/MongoOpenIddictScopeRepository.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Scopes/MongoOpenIddictScopeRepository.cs index 7323b3f272..d5e151194d 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Scopes/MongoOpenIddictScopeRepository.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Scopes/MongoOpenIddictScopeRepository.cs @@ -54,7 +54,7 @@ public class MongoOpenIddictScopeRepository : MongoDbRepository> FindByNamesAsync(string[] names, CancellationToken cancellationToken = default) { return await (await GetQueryableAsync(GetCancellationToken(cancellationToken))) - .Where(x => names.Contains(x.Name)) + .Where(x => names.AsEnumerable().Contains(x.Name)) .ToListAsync(GetCancellationToken(cancellationToken)); } diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Tokens/MongoOpenIddictTokenRepository.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Tokens/MongoOpenIddictTokenRepository.cs index 2b2a9bec12..9a021791fb 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Tokens/MongoOpenIddictTokenRepository.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.MongoDB/Volo/Abp/OpenIddict/Tokens/MongoOpenIddictTokenRepository.cs @@ -41,7 +41,7 @@ public class MongoOpenIddictTokenRepository : MongoDbRepository x.AuthorizationId != null && authorizationIds.Contains(x.AuthorizationId.Value)) + .Where(x => x.AuthorizationId != null && authorizationIds.AsEnumerable().Contains(x.AuthorizationId.Value)) .ToListAsync(GetCancellationToken(cancellationToken)); await DeleteManyAsync(tokens, autoSave, GetCancellationToken(cancellationToken)); diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.MongoDB/Volo/Abp/PermissionManagement/MongoDb/MongoPermissionGrantRepository.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.MongoDB/Volo/Abp/PermissionManagement/MongoDb/MongoPermissionGrantRepository.cs index 3f3cd13f15..53dcca9c1a 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.MongoDB/Volo/Abp/PermissionManagement/MongoDb/MongoPermissionGrantRepository.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.MongoDB/Volo/Abp/PermissionManagement/MongoDb/MongoPermissionGrantRepository.cs @@ -55,7 +55,7 @@ public class MongoPermissionGrantRepository : cancellationToken = GetCancellationToken(cancellationToken); return await (await GetQueryableAsync(cancellationToken)) .Where(s => - names.Contains(s.Name) && + names.AsEnumerable().Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey ).ToListAsync(cancellationToken); diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs index ea264b254e..20a949806f 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs @@ -48,7 +48,7 @@ public class MongoSettingRepository : MongoDbRepository names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey) + .Where(s => names.AsEnumerable().Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey) .ToListAsync(GetCancellationToken(cancellationToken)); } }