我在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#可以给我一些我可以尝试的建议或建议。
提前致谢,
答案 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是一些任意参数或变量等