-
Notifications
You must be signed in to change notification settings - Fork 934
Closed
Milestone
Description
Example:
var capabilitiesQuery = session.Query<CapabilityAssignment>()
.OfType<UserCapabilityAssignment>()
.Where(x => x.Capability.Path == adminCapabilityPath && x.Capability.Name == adminCapabilityName)
.Select(x => x.UserId);
var adminUsers = await session.Query<ApplicationUser>()
.Where(x => capabilitiesQuery.Contains(x.Id))
.ToListAsync(cancellationToken);
The executed query is:
select
applicatio0_.Id as id1_3_, applicatio0_.ConcurrencyStamp as concurrencystamp2_3_,
applicatio0_.UserName as username3_3_, applicatio0_.NormalizedUserName as normalizedusername4_3_,
applicatio0_.Email as email5_3_, applicatio0_.NormalizedEmail as normalizedemail6_3_,
applicatio0_.PasswordHash as passwordhash7_3_, applicatio0_.SecurityStamp as securitystamp8_3_,
applicatio0_.EmailConfirmed as emailconfirmed9_3_, applicatio0_.PhoneNumber as phonenumber10_3_,
applicatio0_.PhoneNumberConfirmed as phonenumberconfirmed11_3_,
applicatio0_.TwoFactorEnabled as twofactorenabled12_3_, applicatio0_.LockoutEnd as lockoutend13_3_,
applicatio0_.LockoutEnabled as lockoutenabled14_3_, applicatio0_.AccessFailedCount as accessfailedcount15_3_,
applicatio0_.IsPasswordChangeRequired as ispasswordchangerequired16_3_, applicatio0_.IsIntern as isintern17_3_,
applicatio0_.IsArchived as isarchived18_3_
from
AspNetUsers applicatio0_
where
applicatio0_.Id in (
select capability1_.Id
from CapabilityAssignments capability1_
inner join Capabilities capability2_ on capability1_.CapabilityId=capability2_.Id
where capability1_.Type=1 and capability2_.Path=@p0 and capability2_.Name=@p1);
with:
@p0 = '/ventuno/account/' [Type: String (230:0:0)]
@p1 = 'administrator' [Type: String (20:0:0)]
The problem is the select capability1_.Id
, which should be a capability1_.UserId
, as specified by the .Select(x => x.UserId)
. This seems to be a regression since - I guess - 5.2.7.