多表查询
List<School> dataList = db.Sqlable() .From("school", "s") .Join("student", "st", "st.id", "s.id", JoinType.INNER) .Join("student", "st2", "st2.id", "st.id", JoinType.LEFT) .Where("s.id>100 and s.id<@id") .Where("1=1")//可以多个WHERE .OrderBy("id") .SelectToList<School/*新的Model我这里没有所以写的School*/>("st.*", new { id = 1 });
多表分页
List<School> dataPageList = db.Sqlable() .From("school", "s") .Join("student", "st", "st.id", "s.id", JoinType.INNER) .Join("student", "st2", "st2.id", "st.id", JoinType.LEFT) .Where("s.id>100 and s.id<100") .SelectToPageList<School>("st.*", "s.id", 1, 10);//多表分页WHERE加子查询 List<School> dataPageList2 = db.Sqlable() .From("school", "s") .Join("student", "st", "st.id", "s.id", JoinType.INNER) .Join("student", "st2", "st2.id", "st.id", JoinType.LEFT) .Where("s.id>100 and s.id<100 and s.id in (select 1 )" /*这里面写子查询都可以*/) .SelectToPageList<School>("st.*", "s.id", 1, 10);
转成List Dynmaic 或者 Json
//不分页 var list1 = db.Sqlable().From("student", "s") .Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER) .SelectToDynamic("*", new { id = 1 }); var list2 = db.Sqlable().From("student", "s") .Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER) .SelectToJson("*", new { id = 1 }); var list3 = db.Sqlable().From("student", "s") .Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER) .SelectToDataTable("*", new { id = 1 }); //分页 var list4 = db.Sqlable().From("student", "s") .Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER) .SelectToPageDynamic("s.*", "l.id", 1, 10, new { id = 1 }); var list5 = db.Sqlable().From("student", "s") .Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER) .SelectToPageTable("s.*", "l.id", 1, 10, new { id = 1 }); var list6 = db.Sqlable().From("student", "s") .Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER) .SelectToPageDynamic("s.*", "l.id", 1, 10, new { id = 1 });
拼接
Sqlable sable = db.Sqlable().From<Student>("s") .Join<School>("l", "s.sch_id", "l.id", JoinType.INNER); string name = "a"; int id = 1; if (!string.IsNullOrEmpty(name)) { sable = sable.Where("s.name=@name"); } if (!string.IsNullOrEmpty(name)) { sable = sable.Where("s.id=@id or s.id=100"); } if (id > 0) { sable = sable.Where("l.id in (select top 10 id from school)");//where加子查询 } var pars = new { id = id, name = name }; int pageCount = sable.Count(pars); var list7 = sable.SelectToPageList<Student>("s.*", "l.id desc", 1, 20, pars);
2016 © CodeIsBug.comApache Licence 2.0