2010-02-25 4 views
3

안녕하세요 누군가가 linq이 쿼리를 변환하는 데 도움이 될 수 있습니까 ??linq 로의 변환을 도움합니다

SELECT DISTINCT Users.IDUsr, Users.Name 
FROM   [UserGroups.UnitType] INNER JOIN 
      [UserGroups.Units] ON 
      [UserGroups.UnitsTypes].IDUGOUT = [UserGroups.Units].IDUGOUT 
    RIGHT OUTER JOIN 
         Users INNER JOIN [Users.Groups] ON Users.IDUsr = [Users.Groups].IDUsr 
     INNER JOIN UserGroups ON [Users.Groups].IDUsrGrp = UserGroups.IDUsrGrp 
     ON [UserGroups.OrganizationUnits].IDUsrGrp = UserGroups.IDUsrGrp 
WHERE  (Users.Removed = 0) AND ([UserGroups.UnitsTypes].Type <> 100) OR 
         ([UserGroups.UnitsTypes].Type IS NULL) 
+0

내가이 테이블이 FROM 절에 추가 된 경우 표시되지 않습니다 LinqPad을 얻고 –

+0

을 그것을 밖으로 시도 : ON [UserGroups.OrganizationUnits] .IDUsrGrp –

답변

1

일부 코드가 잘린 것 같아요. 그것은 전혀없는 1 개의 테이블에 의존합니다.

이 내가 무엇을보고 함께 할 수있는 최선입니다 :

var query = 
(
from u in Users 
from g in u.UsersGroups 
from un in g.Units.DefaultIfEmpty() 
let t = un.UnitsType 
where u.Removed == 0 && (t.Type <> 100 || t.Type == null) 
select new { ID = u.IDUsr, Name = u.Name } 
).Distinct() 
1

나는 오른손 오프 LINQ를 알고 있지만, 올바른 구문을 받고 도움을 할 수 있어야한다 등 linqerlinqpad 같은 도구를 사용하지 않습니다.

+0

이미 시도 : 성공없이 S – Luis