Linq查询定义

时间:2011-03-27 16:03:44

标签: c# linq azure-storage

我在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#可以给我一些我可以尝试的建议或建议。

提前致谢,

3 个答案:

答案 0 :(得分:2)

它只是一个谓词,一个接受类型为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);

答案 1 :(得分:0)

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

  foo.Get(x => true);

答案 2 :(得分:0)

brokenglass第一次到达那里,但另一个例子是:

foo.Get(x => x.OrderID == paramid);

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