zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    《人件》读书笔记3
    《人件》读书笔记2
    《人件》读书笔记1
    《编程珠玑》读书笔记3
    《编程珠玑》读书笔记2
    学习进度报告2021/4/10
    《编程珠玑》读书笔记1
    学习进度报告2021/4/9
    学习进度报告2021/4/8
    关于软件体系架构质量属性的科技小论文
  • 原文地址:https://www.cnblogs.com/qidakang/p/9017359.html
Copyright © 2011-2022 走看看