• Lambda查询


    使用EF查询数据库,之前使用Linq表达式,现在改成另一个种方法查询:Lambda表达式

    TestEntities db=new TestEntities();
    var userinfo = db.UserInfo.Where<UserInfo>(u => u.ID == 1).FirstOrDefault();

    其中Where方法是扩展方法。

    public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);

    扩展方法的第一个参数前必须加this关键字,紧跟着是类型表示这个方法是给哪个类型扩展的。后面的参数才表示调用这个方法的时候传的参数。

    在第二个参数中,Expression表示Lambda表达式树。Func<TSource, bool>是委托,需要一个TSource类型的委托,结果返回bool类型。

    // public delegate int AddSum(int a, int b);
    static void Main(string[] args)
    {
    Program p = new Program();
    // AddSum addSum = new AddSum(p.GetSum);
    // AddSum addSum = delegate(int a, int b) { return a + b; };
    // AddSum addSum = (int a, int b) => { return a + b; };
    // int result = addSum(3, 6);
    
    Func<int, int> f = a => a + 1;
    int result=f(5);
    
    Console.WriteLine(result);
    Console.ReadKey();
    
    }
    //public int GetSum(int a, int b)
    //{
    // return a + b;
    //}
    View Code

    TestEntities db=new TestEntities();            var userinfo = db.UserInfo.Where<UserInfo>(u => u.ID == 1).FirstOrDefault();

  • 相关阅读:
    Oracle 18c新特性一览
    iOS xcode缓存问题
    预编译头文件
    iOS 限制UITextField输入字符
    网络通信之 字节序转换原理与网络字节序、大端和小端模式
    iOS 库文件制作
    iOS 全屏布局
    内存问题 动态加载地址和运行时地址
    申请工作居住证政策解答
    phpsession配置
  • 原文地址:https://www.cnblogs.com/qidakang/p/9017359.html
Copyright © 2020-2023  润新知