多个`Where()`与单个`Where()`

时间:2015-12-31 03:48:48

标签: entity-framework linq lambda linq-to-entities

时:

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 个答案:

答案 0 :(得分:1)

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

更好。更少的代码和省时间。两者都有相同的结果。这只是编码风格的问题。