EF多表、直接sql
多表并分页查询
AuthorDesign项目:
/// <summary> /// 加载管理员列表 /// </summary> /// <param name="roleId">权限Id</param> /// <param name="mobile">手机号码</param> /// <param name="startNum">起始数字</param> /// <param name="pageSize">页长</param> /// <param name="IsDesc">是否倒序排列</param> /// <param name="rowCount">总个数</param> /// <returns></returns> public IQueryable<dynamic> LoadPageList(int roleId, string mobile, int startNum, int pageSize, bool IsDesc, out int rowCount) { rowCount = 0; var result = from p in db.Set<Admin>() join a in db.Set<Authory>() on new { AuthoryId = p.AuthoryId } equals new { AuthoryId = a.Id } into a_join from a in a_join.DefaultIfEmpty() where p.IsSuperAdmin == 0 select new { p.Id, p.IsLogin, p.Mobile, p.AdminName, p.Email, p.CreateTime, a.Name, p.AuthoryId, p.LastLoginTime }; if (roleId > 0) { result = result.Where(m => m.AuthoryId == roleId); } if (!string.IsNullOrEmpty(mobile)) { result = result.Where(m => m.Mobile == mobile); } if (IsDesc) { result = result.OrderByDescending(m => m.CreateTime); } else { result = result.OrderBy(m => m.CreateTime); } rowCount = result.Count(); return result.Skip(startNum).Take(pageSize); }
var queryable = (from a in StudentList join b in SchoolList1 on a.Id equals b.Id into b1 from b2 in b1.DefaultIfEmpty() select new { a.Id, a.Name, t = b2.Name }); var listp = queryable.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); var total = queryable.Count();
EF直接操作SQL语句
http://www.cnblogs.com/mrzhoushare/articles/7092144.html
EF操作存储过程
见MyBootstrapDemo参考项目
EF事物
http://www.cnblogs.com/mrzhoushare/articles/7064686.html

浙公网安备 33010602011771号