2012-04-05 7 views
1

Ich habe diesen Code in Linq. Jeder kann den t-sql bereitstellen. Vielen Dank!Linq Abfrage entspricht sql

var tsr = from t in db.Tngs 
from l in t.TngUsr 
from td in t.TngDepts 
from u in db.Users 
where t.TId == tId && u.UserId == l.UserId && u.Departments.DeptId == td.Departments.DeptId 

ist die zweite/dritte von links außen?

+0

Haben Sie etwas noch versucht? –

+1

Wenn Sie den Profiler auf Ihrer SQL Server-Instanz ausführen, können Sie die von ihm generierte SQL sehen. – Matthew

+0

Das funktioniert auch gut. – FAA

Antwort

7

Versuchen Sie, das in LinqPad auszuführen. Es würde das T-SQL-Äquivalent Ihres linq-Codes anzeigen. Es würde sogar diesen linq-Ausdruck in den äquivalenten Lambda-Ausdruck umwandeln.

+3

lehren Sie einen Mann zu fischen ... :) –

+0

LinqPad ist gut eine gute Option, ich muss nur diese Parameter herausfinden. Auch der SQL-Profiler hat den gleichen SQL-Stmt. – FAA

1

Es sieht aus wie es so etwas wie das ist:

SELECT t, l, td, u 
FROM Tngs 
JOIN TngUser ON TngUser.UserID = Users.UserID 
JOIN Users ON Users.UserID = TngUser.UserID 
JOIN Departments ON DepartmentID = tngDepartmentID 
WHERE Tngs.TId = tId