2015-12-31 21 views
2

是:多`如果()`對單`凡()`

var records = context.Records 
        .Where(r => r.EmployeeId == id) 
        .Where(r => r.Date >= startDate) 
        .Where(r => r.Date <= enddate) 
        .ToList(); 

好轉,惡化或不同反正比:

var records = context.Records 
        .Where(r => r.EmployeeId == id 
          && r.Date >= startDate 
          && r.Date <= enddate) 
        .ToList(); 

第一似乎更容易閱讀,所以如果沒有差異,那麼我會用這個來避免使用很多&&

+1

只是一個想法,你可以檢查生成的實體SQL來檢查linq有什麼區別。從可讀性來看,第二種方法似乎更好。 – Agalo

+1

我會說,第一種方法的可讀性更好。 – Enigmativity

回答

1
var records = context.Records 
        .Where(r => r.EmployeeId == id 
          && r.Date >= startDate 
          && r.Date <= enddate) 
        .ToList(); 

更好。較少的代碼&節省時間。和兩個出來相同的結果。這只是編碼風格的問題。