Linq where-Klausel nicht in select-Anweisung
-
19-09-2019 - |
Frage
Kann mir jemand helfen, von SQL Query zu LINQ VB.NET zu konvertieren:
select rls.* from Roles rls(nolock)
where rls.id not in (
select r.ID from usersRole ur (nolock)
inner join Roles r(nolock) on ur.RoleID = r.ID
where user_id = 'NY1772')
Danke
Keine korrekte Lösung
Andere Tipps
finde ich meine eigene Antwort ...
'construct a where ID list
Dim lstRoleIDs = From ur In ctx.UsersRoles _
Join rl In ctx.Roles _
On ur.RoleID Equals rl.ID _
Where ur.User_ID = UserId _
Select rl.ID
Dim newQ = (From r In ctx.Roles _
Where Not lstRoleIDs.Contains( _
r.ID) _
Select New UserRoleList With {.ID = r.ID, .PermDesc = r.ID & " - " & r.Permission & " - " & r.PermissionDescription})
Wenn Sie die (NOLOCK) Hinweise erhalten will, muss ich gebloggt eine praktische Lösung mit Erweiterungsmethoden in C #. Beachten Sie, dass dies ist das gleiche wie das Hinzufügen nolock Hinweise zu jeder Tabelle in der Abfrage.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow