Может кто-нибудь помочь мне преобразовать SQL-запрос в LINQ VB.NET:
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')
Спасибо
я нахожу свой ответ ...
'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})
Если вы хотите сохранить подсказки (NOLOCK), я опубликовал в блоге удобное решение с использованием методов расширения в C #. Обратите внимание, что это то же самое, что добавить подсказки nolock к каждой таблице в запросе.