//升序
if (arr == "Asc")
{
var data = (from n in db.New
join u in db.User on n.UserId equals u.Id into t1
from join_u in t1.DefaultIfEmpty()
select new New
{
Id = n.Id,
Title = n.Title ?? null,
Describe = n.Describe ?? null,
Content = n.Content ?? null,
IsDelete = n.IsDelete ?? null,
InputTime = n.InputTime ?? null,
UpdateTime = n.UpdateTime ?? null,
UserId = n.UserId,
UserName = join_u.Name ?? null,
UserPwd = join_u.Pwd ?? null,
Mob = join_u.Mob ?? null,
Email = join_u.Email ?? null
});
//.Where(u => u.UserId == userid || u.UserId == null && u.IsDelete == "0" && EF.Functions.Like(u.Title,"%"+title+"%")).OrderBy<New, TKey>(expression).Skip((pageIndex - 1) * PageSize).Take(PageSize)
data = (IQueryable<New>)data.Where(u => u.IsDelete == "0" && EF.Functions.Like(u.Title, "%" + title + "%")).OrderBy<New, TKey>(expression).Skip((pageIndex - 1) * PageSize).Take(PageSize).AsEnumerable();
return data;
}
else
{
var data = (from n in db.New
join u in db.User on n.UserId equals u.Id into t1
from join_u in t1.DefaultIfEmpty()
select new New
{
Id = n.Id,
Title = n.Title ?? null,
Describe = n.Describe ?? null,
Content = n.Content ?? null,
IsDelete = n.IsDelete ?? null,
InputTime = n.InputTime ?? null,
UpdateTime = n.UpdateTime ?? null,
UserId = join_u.Id,
UserName = join_u.Name ?? null,
UserPwd = join_u.Pwd ?? null,
Mob = join_u.Mob ?? null,
Email = join_u.Email ?? null
});
//.Where(u => u.UserId == userid || u.UserId == null && u.IsDelete == "0" && EF.Functions.Like(u.Title,"%"+title+"%")).OrderBy<New, TKey>(expression).Skip((pageIndex - 1) * PageSize).Take(PageSize)
data = (IQueryable<New>)data.Where(u => u.IsDelete == "0" && EF.Functions.Like(u.Title, "%" + title + "%")).OrderByDescending<New, TKey>(expression).Skip((pageIndex - 1) * PageSize).Take(PageSize).AsEnumerable();
return data;
}
找不同即可。
不同之处在于23,47行的OrderByDescending
所以那一大串可以并成一块,
但是data还是要分