映射到新类
单表:
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();
收藏到朋友圈: