EFCore使用lambda进行多表连接(join)并匹配多个条件
var res = DbSet<A>().join(DbSet<B>(),A=>new {A.Id,A.Name},B=>new {B.Id,B.Name},(A,B)=>new {A,B};
//或者
var res = DbSet<A>().join(DbSet<B>(),A=>new { Id = A.Id, Name = A.Name},B=>new {Id = B.UserId, Name = B.UserName},(A,B)=>new {A,B};
注意:1、匿名类(连接条件)中的参数顺序必须一致,即 A.Id,A.Name 和 B.Id,B.Name
var res = DbSet<A>().join(DbSet<B>(),A=>new {A.Name,A.Id},B=>new {B.Id,B.Name},(A,B)=>new {A,B};
这样是不行的。A.Name,A.Id 和 B.Id,B.Name