2

誰かが 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')

ありがとう

4

2 に答える 2

2

私は自分の答えを見つける...

     '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})
于 2009-08-21T20:22:23.653 に答える
0

(NOLOCK) ヒントを保持したい場合は、C# の拡張メソッドを使用した便利なソリューションをブログに投稿しました。これは、クエリ内のすべてのテーブルに nolock ヒントを追加することと同じであることに注意してください。

于 2010-06-09T00:28:52.670 に答える