不用判断,使用其他的方法或者思路
问题相关代码,请勿粘贴截图
//升序
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;
}
运行结果及报错内容
我的解答思路和尝试过的方法
简化为一个方法,不用if else