Code: Select all
public class AppUser : IdentityUser {
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual List UserRoles { get; set; } = new List();
}
public class AppRole : IdentityRole {
public virtual List UserRoles { get; set; } = new List();
}
public class AppUserRole : IdentityUserRole {
public virtual AppUser User { get; set; }
public virtual AppRole Role { get; set; }
}
Code: Select all
public async Task GetAllWithRoles()
{
return await _dbSet
.AsNoTracking()
.Include(u => u.UserRoles)
.ThenInclude(ur => ur.Role)
.ToListAsync();
}
Code: Select all
[
{
"firstName": "XXXX",
"lastName": "YYYYY",
"userRoles": [
{
"role": {
"userRoles": [],
"id": 1,
"name": "xxx",
"normalizedName": "xxxx",
"concurrencyStamp": "1617fe40-77e2-46cb-9c1c-df597d09775c"
},
"userId": 1,
"roleId": 1
}
]
}
]
Code: Select all
[
{
"firstName": "Alex",
"lastName": "Florin",
"RoleName": "Role1",
},
{
"firstName": "Alex",
"lastName": "Florin",
"RoleName": "Role2",
},
{
"firstName": "Jon",
"lastName": "Smith",
"RoleName": "Role1",
},
]
Automapper ist eine weitere Option, da ich damit die Ansichtsmodelle für meine einfacheren Entitäten erstelle, aber mir ist nicht klar, wie ich damit eine Viele-zu-Viele-Beziehung reduzieren soll
Mobile version