1
Ich versuche, zwei Liste von UserGroup
aus zwei verschiedenen Tabelle mit einer einzigen Abfrage zu vergleichen, dh durch nicht mehrfache DB zu schlagen.Vergleichen übereinstimmende Element mit einer einzigen Abfrage in Iqueryable
zur Zeit bin ich Abrufen aller zugeordneten UserGroup
in einer Abfrage und Vergleich mit allen zulässigen Usergroup
in anderen Abfrage.
var query = _context.AppSubOperationUserGroupMappings.Where(filterPredicate)
.Select(x => x.UserGroup)
.ToList();
var allowedUserGroups = _context.Users.Where(x => x.Id == userId)
.Select(x => x.UserGroupUserMappings.Select(y => y.UserGroup))
.First()
.ToList();
return query.Any(a => allowedUserGroups.Any(b => b.Id == a.Id));
Wie kann ich sie in einzelne Abfrage zusammenführen?
Haben Sie einfach die '.ToList' in Ihren Abfragen versucht fallen. Das sollte zu einer einzelnen DB-Abfrage führen. – Sefe