zoukankan      html  css  js  c++  java
  • Linq表达式开窍

    static IQueryable<T> GetPageList<T,TKey>(Expression<Func<T,bool>> whereLambda,Expression<Func<T,TKey>> orderLambda,int pageSize,int pageIndex)
    where T:class 
    {
    DbContext context=new T1Context();
    var result = context.Set<T>()
    .Where(whereLambda)
    .OrderByDescending(orderLambda) //将数据降序排列
    .Skip((pageIndex - 1) * pageSize)
    .Take(pageSize)
    .Select(c=>c);
    return result;
    }

     上面值的返回类型是IQueryable,为什么是这个类型呢?

    我们可以随便将一个方法,F12转到定义,比如.Take吧

    可以看到每个方法的返回类型都是IQueryable,那么你就懂了吧,哈哈~

    --------

    调用代码块:

    var result = GetPageList<CustomerInfo,int>(
    c=>c.CustomerName.Length<3,
    c=>c.CustomerId,
    pageSize, pageIndex);

     foreach (var obj in result)
     {
     Console.WriteLine(obj.CustomerName);
     }

     

    -------------------------------

    以上代码是一个分页查询的简单写法,其中T,TKey代表的是泛型。及代表同一种类型,这里的T代表是同一个类(CustomerInfo类),TKey代表都是int类型。

    TKey是T的一个属性,根据这个属性进行排序

  • 相关阅读:
    python threading 无法并行问题
    flask
    jinjia2 模板不解析html
    docker 配置lnmp环境(mac环境下)
    docker基础
    django初体验
    Centos6.5 编译安装Mysql 5.5.3.7
    Mysql InnoDB事务
    删除GitHub上项目中的某个文件
    转 WPF MVVM 循序渐进 (从基础到高级)
  • 原文地址:https://www.cnblogs.com/shuai7boy/p/5469858.html
Copyright © 2011-2022 走看看