映射到新类

单表:

var queryable = db.Queryable<Student>().Where(c => c.id < 10)
.Select<V_Student>(c => new V_Student { id = c.id, name = c.name, AreaName = "默认地区", SchoolName = "默认学校", SubjectName = "NET" });


多表:

  List<V_Student> jList4 =db.Queryable<Student>()
.JoinTable<School>((s1, s2) => s1.sch_id == s2.id) // left join  School s2  on s1.id=s2.id
.JoinTable<School, Area>((s1, s2, a1) => a1.id == s2.AreaId)// left join  Area a1  on a1.id=s2.AreaId  第三张表与第二张表关联
.JoinTable<Area, School>((s1, a1, s3) => a1.id == s3.AreaId)// left join  School s3  on a1.id=s3.AreaId  第四第表第三张表关联
.JoinTable<School>((s1, s4) => s1.sch_id == s4.id) // left join  School s2  on s1.id=s4.id
.Select<School, Area, V_Student>((s1, s2, a1) => new V_Student { id = s1.id, name = s1.name, SchoolName = s2.name, AreaName = a1.name }).ToList();


字符串用法:

var list3 = db.Queryable()
.JoinTable((s1, s2) => s1.sch_id == s2.id)
.Where(s1 => s1.id <= 3)
.Select<V_Student>("s1.*,s2.name SchoolName")
.ToList();


收藏到朋友圈: