2 u011597071 u011597071 于 2016.01.31 02:17 提问

用个EF框架的泛形类(BaseDal),按条件查询 的方法,排序的lambda表达式不知道写 1C

.net的mvc开发中,我用了一个EF框架的泛形类(BaseDal),我在里面写了一个按条件查询
的方法,但是那个排序的lambda表达式我不知道写

 public static List<T> GetPageListBy<TKey>(int pageIndex, int pageSize, ref int rowCount, System.Linq.Expressions.Expression<Func<T, bool>> selectWhere, System.Linq.Expressions.Expression<Func<T, TKey>> orderLambda, bool isAsc = true)
        {
            using (Mvc_TaoBaoEntities db = new Mvc_TaoBaoEntities())
            {
                rowCount = db.Set<T>().Where(selectWhere).Count();
                if (isAsc)
                {
                    return db.Set<T>().Where(selectWhere).OrderBy<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                }
                else
                {
                    return db.Set<T>().Where(selectWhere).OrderByDescending<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                }
            }
        }

调用的方法
List list = BaseDAL.SelectByPaged(1, 10, 1 == 1, "lambda表达式的排序语句").ToList();

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.31 06:25

List list = BaseDAL.SelectByPaged(1, 10, 1 == 1, x => x.id).ToList(); //比如按照id排序

caozhy
caozhy   Ds   Rxr 2016.01.31 06:26

晕,1==1这个也不对

 List<Goods> list = BaseDAL<Goods>.SelectByPaged(1, 10, x => x.字段 == 什么, x => x.排序字段).ToList();
u011597071
u011597071   2016.01.31 02:18
  public static List<T> GetPageListBy<TKey>(int pageIndex, int pageSize, ref int rowCount, System.Linq.Expressions.Expression<Func<T, bool>> selectWhere, System.Linq.Expressions.Expression<Func<T, TKey>> orderLambda, bool isAsc = true)
        {
            using (Mvc_TaoBaoEntities db = new Mvc_TaoBaoEntities())
            {
                rowCount = db.Set<T>().Where(selectWhere).Count();
                if (isAsc)
                {
                    return db.Set<T>().Where(selectWhere).OrderBy<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                }
                else
                {
                    return db.Set<T>().Where(selectWhere).OrderByDescending<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                }
            }
        }
u011597071
u011597071   2016.01.31 02:19

在线等回答,大神进来帮忙啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
EF多条件查询、排序Demo
EF多条件查询、排序Demo
EF中一种简单的多条件动态查询方法
多条件动态查询是任何一个数据系统都会处理的问题。如果使用纯SQL和数据库进行交互,可以使用SQLHepler之类的工具根据用户输入来动态生成SQL语句。在EF框架下,使用lambda表达式来进行多条件动态查询颇为麻烦。举个例子来说明吧。           数据模型类: class Person { public string Name; pu
ASP EF框架,扩展函数和lambda表达式实现排序和分页
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class WebForm
EF实现分页查询+条件查询+排序
先来看看几个LINQ to SQL的几个函数。  Take     说明:获取集合的前n个元素;延迟。即只返回限定数量的结果集。     var q = (     from e in db.Employees     orderby e.HireDate     select e)     .Take(5);     语句描述:选择所雇用的前5个雇员。 Skip     
Linq排序-Lambda动态附加条件和排序语句
一种常见的情况, 使用linq-to-sql 或者lambda(Entity framework)去数据库取条件的时候需要附加多个条件或者排序语句 以 Name="John" Age=23 为例 先明确一个概念 对于Lambda来说 以下两个表达式是等价的   1.  list.Where(p=>p.Name=="John" && p.Age==23)   2.  list
EF执行SQL分页查询语句
最近做一个功能,查询视图直接用EF的linq语句查询出来显示的数据是好多是重复的数据,后来就在网上找了下方法。 在这里拿出来给大家分享下,希望对大家有帮助,有什么不对或者不好的地方欢迎大家指出来,以为是第一次写希望大家多多包含 public List GetOrderDatas(int index, int count, out int totCount, DateTime? starTime
EntityFramework6写的数据访问框架之二BaseDAL
using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Linq.Expressions; using System.Text; using LinqKit; using System.Configurat
通用baseDAL类(4)
 namespace Syaccp.Feast.ProcDAL.SqlServer{    //系统命名空间    using System.Collections.Generic;    using System.Data;    using System;    using System.Data.SqlClient;    using System.Text;    using Syst
entity framework(EF) 中的Lambda表达式简单应用
entity framework(EF) 中的Lambda表达式简单应用 应用DEMO Listh_job> list= GetListWhereBy(m => m.h_job_id > 2, m => m.h_job_id); //根据传入Lambda表达式条件进行查询 public static List GetListWhere(Expression>
【.Net码农】【MVC】.Net框架搭建之1、SQL Server EF MVC简单三层框架
http://blog.csdn.net/pukuimin1226/article/details/52313656 版权声明:作者:真爱无限 出处:http://blog.csdn.net/pukuimin1226 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接. 目录(?)[+] .Net简