【问题标题】:Linq query definitionLinq 查询定义
【发布时间】:2011-07-23 22:49:36
【问题描述】:

我在 codeplex 上使用 Windows Azure Toolkit 产品。它看起来非常适合满足我的需求,但那里的例子很少。特别是有一种从 Azure 表中获取数据的方法:

    public virtual T Get(Expression<Func<T, bool>> predicate)
    {
        return this.Query.Where(predicate).FirstOrDefault();
    }

问题是工具包中没有示例,我无法理解参数是什么:

 (Expression<Func<T, bool>> predicate)

应该看起来像。

有没有了解 Linq 和 C# 知识的人可以给我一些可以尝试的建议或建议。

提前致谢,

【问题讨论】:

    标签: c# linq azure-storage


    【解决方案1】:

    它只是一个谓词,一个接受 T 类型参数并返回布尔值的方法 - 使用它的最简单方法是传递 lambda 表达式 - 简单示例:

    public class Foo<T>
    {
        IQueryable<T> Query;
    
        public virtual T Get(Expression<Func<T, bool>> predicate)
        {
            return this.Query.Where(predicate).FirstOrDefault();
        }
    }
    ...
    Foo<int> foo = new Foo<int>();
    int firstValueUnder100 = foo.Get(x => x <= 100);
    

    【讨论】:

      【解决方案2】:

      另一个例子(返回所有内容)

        foo.Get(x => true);
      

      【讨论】:

        【解决方案3】:

        碎玻璃第一个到达那里,但另一个例子是:

        foo.Get(x =&gt; x.OrderID == paramid);

        其中 paramid 是一些任意参数或变量等

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多