item.Id > 0).GroupBy(item => new {-6ren">
gpt4 book ai didi

c# - 如何从匿名类型列表中迭代?

转载 作者:行者123 更新时间:2023-11-30 12:36:25 26 4
gpt4 key购买 nike

我有这个 linq to entities 查询:

c.CreateQuery<T_Hotels>("T_Hotels").Where(item => item.Id > 0).GroupBy(item => new { item.Location, item.Name }).Select(group => new { group.Key, Total = group.Sum(item => item.Id) })

我想在Helper类的一个方法中实现一切,如何声明GroupBy和Select的表达式,返回类型是什么?

public IQueryable<???> GetHotelsGroupBy(Expression<Func<T_Hotels, bool>> pWhere,
??? pGroupBy, ??? pSelect)
{
return c.CreateQuery<T_Hotels>("T_Hotels").Where(pWhere).GroupBy(pGroupBy).Select(pSelect);

}

对不起我的英语。里诺

最佳答案

匿名类型最好不要暴露在使用它们的类型之外,除非您乐于使用反射来与它们对话。但是,您可以返回非泛型 IEnumerableIList

有一种叫做“cast by example”的东西可以使匿名类型恢复到您期望的状态,但它非常 脆弱。声明一个自定义类型来表示此 API 上的数据会更好(并且工作更少)。这样您就不会在每一步都与系统作斗争。

关于c# - 如何从匿名类型列表中迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3342206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com