求助LinQ语句
- C# code
var q = from p in db.Products group p by p.CategoryID into g select new { g.Key, NumProducts = g.Count() };请问这条语句怎么转换成非匿名语句
[解决办法]
var q = from p in db.Products
group p by p.CategoryID into g
select new { g.Key, NumProducts = g.Count() };
Console.WriteLine(q.GetType().ToString());
看输出什么。
[解决办法]
记住,所谓匿名,就是语法糖而已。
[解决办法]
[解决办法]
var q = from p in db.Products
group p by p.CategoryID into g
select g;
ToList();
[解决办法]
啥叫非匿名,我猜是非匿名类型。
class Result
{
public int Key {set;get;}
public int Count {set;get;}
}
var q = from p in db.Products
group p by p.CategoryID into g
select new Result(){ Key = g.Key, Count = g.Count() };
注意,以上代码没有经过编译验证,可能有小错误。
[解决办法]
用var声明不就是匿名的~改成具体类型行吗?
[解决办法]
你的select 出的是匿名,所以不能转成 非匿名,必须要用var
[解决办法]
[解决办法]
其实就是一个语法糖而已了,你不用刻意的要求这样做