2016-06-07 58 views
-1

我無法弄清楚在LINQ to SQL語句中使用if子句的語法。如果語句在LINQ to SQL中

聲明的工作原理是從列得到的唯一值稱爲Staff_No

var staffNames = sql.Staff_Time_TBLs.Select(item => 
item.Staff_No).Distinct().ToList(); 

我想,當數據等於從一個叫Section列字符串從Staff_No獲得唯一值。 我知道這是錯誤的,但我希望你能得到我一直在C#中試圖做的jist?

var staffNames = sql.Staff_Time_TBLs.Select(item => 
if item.Section == "Level 1" then item.Staff_No).Distinct().ToList(); 
+2

使用位置:sql.Staff_Time_TBLs.Where(item => item.Section ==「Level 1」)。Select(item => item.Staff_No).Distinct()。ToList(); – Evk

+0

感謝您花時間回答所有人。這解決了我的問題。 – KyloRen

回答

7

嘗試使用Where方法:

var staffNames = sql.Staff_Time_TBLs 
    .Where(item => item.Section == "Level 1") 
    .Select(item => item.Staff_No) 
    .Distinct() 
    .ToList(); 
+0

謝謝你做到了。投票選出時間。乾杯。 – KyloRen

3

我沒有Visual Studio的權利,但我覺得你的做,使用Where語句:

var staffNames = sql.Staff_Time_TBLs.Where(item => item.Section == "Level 1").Select(item => item.Staff_No).Distinct().ToList(); 
+0

謝謝你做到了。投票選出時間。乾杯。 – KyloRen

1

你嘗試Where

var staffNames = sql.Staff_Time_TBLs 
        .Where(wr=>wr.Section == "Level 1") 
        .Select(item => item.Staff_No) 
        .Distinct() 
        .ToList(); 
+0

投票選出時間。所有的答案爲我工作。 – KyloRen