p.c*_*ell 37 c# linq syntax linq-query-syntax
考虑使用查询表示法编写的LINQ表达式:
List<Person> pr = (from p in db.Persons
join e in db.PersonExceptions
on p.ID equals e.PersonID
where e.CreatedOn >= fromDate
orderby e.CreatedOn descending
select p)
.ToList();
Run Code Online (Sandbox Code Playgroud)
问题:如何使用点表示法编写此LINQ表达式?
Jon*_*eet 71
像这样:
List<Person> pr = db.Persons
.Join(db.PersonExceptions,
p => p.ID,
e => e.PersonID,
(p, e) => new { p, e })
.Where(z => z.e.CreatedOn >= fromDate)
.OrderByDescending(z => z.e.CreatedOn)
.Select(z => z.p)
.ToList();
Run Code Online (Sandbox Code Playgroud)
注意如何引入一个新的匿名类型来携带p
和e
前进位.在规范中,执行此操作的查询运算符使用透明标识符来指示行为.