是否可以将类似的查询保存/传递给OOP类中的变量,例如:
private somedatatype linqquery
据我所知,声明var类型的变量可以在本地范围内完成
那么如何实现呢?
答案 0 :(得分:4)
如果通过“LINQ query”表示针对查询提供程序(如LINQ to SQL或实体框架)的查询,并且您计划稍后使用该查询提供其他操作(添加其他查询条件或更改结果集,例如),那么你应该使用IQueryable<QueryReturnType>
。否则,请使用IEnumerable<QueryReturnType>
作为您的数据类型。
答案 1 :(得分:2)
只要它仍然是IEnumerable并且您不使用投影方法,它仍然是一个linq查询。例如:
void FirstMethod()
{
var myQuery = from XType x in y select x.Stuff;
SecondMethod(myQuery);
}
void SecondMethod(IEnumerable<XType> yourVariable)
{
// Will run the query on the next line.
foreach(XType x in yourVariable)
{
Console.WriteLine(x.ToString());
}
}