2011-08-09 57 views
-1

我需要寫在LINQ編寫查詢 例如後加入statment:加入聲明的LINQ到SQL

var Query = (from Tab in Db.Employees 
       select Tab) 

,因爲我有一些情況下進行連接操作,從而
我需要做的是在此查詢Query.Join(Join with another Table like Department);我需要的語法

if (DeptID != -1){ Query.Join(Join with table Department where FkDeptID = DeptID); } 
+1

加入什麼?還有其他什麼數據我們需要更多信息。 –

+0

你想'加入()'到什麼? –

回答

0

考慮在LINQ '查詢語法' 加入的用法:

from t1 in db.Table1 
join t2 in db.Table2 on t1.field equals t2.field 
select new { t1.field2, t2.field3} 

是這樣的嗎?

var results = (from q in Query 
       join m in myList on q.SomeID = m.SomeID 
       select unknown); 
+0

我需要用戶在執行查詢後加入表達式,因爲如果(true){query.join(...)}有一些情況需要做到這一點 – Mounir

+2

@Kareem:那麼你將不得不用一個顯式集更新你的問題源數據和條件。我們無法讀懂你的想法! –

+0

我更新了我的問題,你是否明白我的想法? – Mounir

0

嘗試使用此查詢:

var Query = 
    from e in Db.Employees 
    join d in Db.Departments on e.FkDeptID equals d.DeptID into departments 
    select new 
    { 
     Employee = e, 
     Department = departments.SingleOrDefault(), 
    }; 

這工作假定當e.FkDeptID == -1有在Departments表,在這種情況下Department沒有記錄將被分配null

你不應該有一個以上的員工部門,所以我使用SingleOrDefault而不是FirstOrDefault