Browse Source

Fix mongodb query

pull/13558/head
Enis Necipoglu 4 years ago
parent
commit
ab666e8e41
  1. 25
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoEntityTagRepository.cs

25
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoEntityTagRepository.cs

@ -60,16 +60,23 @@ public class MongoEntityTagRepository : MongoDbRepository<ICmsKitMongoDbContext,
[CanBeNull] Guid? tenantId=null,
CancellationToken cancellationToken = default)
{
var dbContext = await GetDbContextAsync();
var entityTagQueryable = await GetMongoQueryableAsync(GetCancellationToken(cancellationToken));
var tagQueryable = await GetMongoQueryableAsync<Tag>(GetCancellationToken(cancellationToken));
var resultQueryable = from et in entityTagQueryable
join t in tagQueryable on et.TagId equals t.Id
where t.Name == tagName
&& t.EntityType == entityType
&& et.TenantId == tenantId
&& t.TenantId == tenantId
&& !t.IsDeleted
select et.EntityId;
var tagQueryable = dbContext.Tags.AsQueryable();
var resultQueryable = entityTagQueryable
.Join(
tagQueryable,
o => o.TagId,
i => i.Id,
(entityTag, tag) => new { entityTag, tag })
.Where(x => x.tag.EntityType == entityType
&& x.entityTag.TenantId == tenantId
&& x.tag.TenantId == tenantId
&& x.tag.IsDeleted == false
)
.Select(s => s.entityTag.EntityId);
return await AsyncExecuter.ToListAsync(resultQueryable, GetCancellationToken(cancellationToken));
}
}

Loading…
Cancel
Save