From df12120c4323c48f909f0ff7ee3ccfb30868b75f Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 23 Mar 2022 12:27:24 +0300 Subject: [PATCH] Fix MongoDB query for GetAuthorsHasBlogPosts --- .../MongoDB/Blogs/MongoBlogPostRepository.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs index a2bae9e317..3b04f46fb6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs @@ -104,7 +104,19 @@ public class MongoBlogPostRepository : MongoDbRepository> GetAuthorsHasBlogPosts(CancellationToken cancellationToken = default) { - var queryable = (await GetQueryableAsync()).Select(x => x.Author).Distinct(); + var blogPostQueryable = (await GetQueryableAsync()); + + var usersQueryable = (await GetDbContextAsync()).Collection().AsQueryable(); + + var queryable = blogPostQueryable + .Join( + usersQueryable, + o => o.AuthorId, + i => i.Id, + (blogPost, user) => new { blogPost, user }) + .Select(s => s.user) + .Distinct(); + return await AsyncExecuter.ToListAsync(queryable, GetCancellationToken(cancellationToken)); } }