LINQ: dot notation equivalent for JOIN

后端 未结 1 2017
别那么骄傲
别那么骄傲 2021-01-31 02:51

Consider this LINQ expression written using query notation:

 List pr = (from p in db.Persons
                     join e in db.PersonExceptions
            


        
相关标签:
1条回答
  • 2021-01-31 03:39

    Like this:

    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();
    

    Note how a new anonymous type is introduced to carry both the p and e bits forward. In the specification, query operators which do this use transparent identifiers to indicate the behaviour.

    0 讨论(0)
提交回复
热议问题