@@ -58,6 +58,12 @@ public virtual async Task<int> GetCountAsync(
5858 BlogPostStatus ? statusFilter = null ,
5959 CancellationToken cancellationToken = default )
6060 {
61+ List < Guid > entityIdFilters = null ;
62+ if ( tagId . HasValue )
63+ {
64+ entityIdFilters = ( await _entityTagManager . GetEntityIdsFilteredByTagAsync ( tagId . Value , CurrentTenant . Id , cancellationToken ) ) . Select ( Guid . Parse ) . ToList ( ) ;
65+ }
66+
6167 var tagFilteredEntityIds = tagId . HasValue
6268 ? await _entityTagManager . GetEntityIdsFilteredByTagAsync ( tagId . Value , CurrentTenant . Id , cancellationToken )
6369 : null ;
@@ -67,6 +73,7 @@ public virtual async Task<int> GetCountAsync(
6773 : null ;
6874
6975 var queryable = ( await GetDbSetAsync ( ) )
76+ . WhereIf ( entityIdFilters != null , x => entityIdFilters . Contains ( x . Id ) )
7077 . WhereIf ( tagFilteredEntityIds != null , x => tagFilteredEntityIds . Contains ( x . Id . ToString ( ) ) )
7178 . WhereIf ( favoriteUserFilteredEntityIds != null , x => favoriteUserFilteredEntityIds . Contains ( x . Id . ToString ( ) ) )
7279 . WhereIf ( blogId . HasValue , x => x . BlogId == blogId )
@@ -95,6 +102,12 @@ public virtual async Task<List<BlogPost>> GetListAsync(
95102 var blogPostsDbSet = dbContext . Set < BlogPost > ( ) ;
96103 var usersDbSet = dbContext . Set < CmsUser > ( ) ;
97104
105+ List < Guid > entityIdFilters = null ;
106+ if ( tagId . HasValue )
107+ {
108+ entityIdFilters = ( await _entityTagManager . GetEntityIdsFilteredByTagAsync ( tagId . Value , CurrentTenant . Id , cancellationToken ) ) . Select ( Guid . Parse ) . ToList ( ) ;
109+ }
110+
98111 var tagFilteredEntityIds = tagId . HasValue
99112 ? await _entityTagManager . GetEntityIdsFilteredByTagAsync ( tagId . Value , CurrentTenant . Id , cancellationToken )
100113 : null ;
@@ -104,6 +117,7 @@ public virtual async Task<List<BlogPost>> GetListAsync(
104117 : null ;
105118
106119 var queryable = ( await GetDbSetAsync ( ) )
120+ . WhereIf ( entityIdFilters != null , x => entityIdFilters . Contains ( x . Id ) )
107121 . WhereIf ( tagFilteredEntityIds != null , x => tagFilteredEntityIds . Contains ( x . Id . ToString ( ) ) )
108122 . WhereIf ( favoriteUserFilteredEntityIds != null , x => favoriteUserFilteredEntityIds . Contains ( x . Id . ToString ( ) ) )
109123 . WhereIf ( blogId . HasValue , x => x . BlogId == blogId )
0 commit comments