2016-06-07 86 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