CmsKit - Fix MongoDb Query for Comment details

pull/8588/head
enisn 5 years ago
parent 5a518b58ae
commit 078a4b540b

@ -23,23 +23,28 @@ namespace Volo.CmsKit.MongoDB.Comments
public async Task<CommentWithAuthorQueryResultItem> GetWithAuthorAsync(Guid id, CancellationToken cancellationToken = default)
{
var query = from comment in (await GetMongoQueryableAsync(cancellationToken))
join user in (await GetDbContextAsync(cancellationToken)).CmsUsers on comment.CreatorId equals user.Id
where id == comment.Id
select new CommentWithAuthorQueryResultItem
{
Comment = comment,
Author = user
};
var dbContext = await GetDbContextAsync();
var commentQueryable = await GetMongoQueryableAsync(cancellationToken);
var userQueryable = dbContext.Collection<CmsUser>();
var joined = commentQueryable.Join(userQueryable, x => x.CreatorId, x => x.Id, (comment, user) => new
{
Comment = comment,
User = user
});
var commentWithAuthor = await query.FirstOrDefaultAsync(GetCancellationToken(cancellationToken));
var commentWithAuthor = await joined.FirstOrDefaultAsync(GetCancellationToken(cancellationToken));
if (commentWithAuthor == null)
{
throw new EntityNotFoundException(typeof(Comment), id);
}
return commentWithAuthor;
return new CommentWithAuthorQueryResultItem()
{
Comment = commentWithAuthor.Comment,
Author = commentWithAuthor.User
};
}
public async Task<List<CommentWithAuthorQueryResultItem>> GetListAsync(

Loading…
Cancel
Save