2010-04-16 33 views
0

如何LINQ查詢寫入訪問數據訪問數據從多個table.How你寫了下面的SQL查詢Linq查詢: -如何從多個表

"select * from user,employee where user.Name='smith' and employee.company='xyz'" 
+1

它看起來像你正在做一個交叉聯接(老前輩像我稱之爲「直角連接」)。那是故意的嗎? (您所在的位置與用戶和員工表格無關,因此您將得到用戶和員工的所有組合,其中user.name ='Smith'和employee.company ='xyz'。 – JMarsch 2010-04-16 15:13:51

回答

1

像這樣的事情會做到這一點。

var q = from u in db.user 
     from e in db.employee 
     where u.Name == "smith" && e.company == "xyz" 
     select new 
     { 
      User = u, 
      Employee = e 
     }; 
0

這要看LINQ提供程序使用。例如,假設你有正確定義的外鍵,實體框架就會創建他們所謂的「導航屬性」。所以,你可以很容易地編寫LINQ查詢像上面這種方式:

var query = data.Where(employee => employee.Name == "Smith" && employee.Company.Name == "xyz"); 
0
var result = from u in context.User 
      from e in context.Employee 
      where (u.Name == "smith" && e.company == "xyz")