此查询有什么问题?
var model =
SessionObjectsMSurvey.ContractList
.Where(y => y.ContractTitle.ToUpper().Contains(upper))
.GroupBy(g => new
{
g.BriefTitle,
g.ContractId
})
.Select(
x => new
{
label = x.BriefTitle,
id = x.ContractId.ToString()
}).Take(20);
SessionObjectsMSurvey.ContractList是一个IEnumerable集合。
这不会编译,我明白了;
错误13'System.Linq.IGrouping' 不包含'BriefTitle'的定义,也没有扩展方法 'BriefTitle'接受第一个类型的参数 'System.Linq.IGrouping' 可以找到(你错过了使用指令或程序集 引用?)
答案 0 :(得分:4)
我认为您需要在.Key
来电的两个地方插入.Select(...)
。 .GroupBy(...)
的结果是IGrouping
可查询,该界面包含.Key
属性,可让您访问论坛的密钥。
var model =
SessionObjectsMSurvey.ContractList
.Where(y => y.ContractTitle.ToUpper().Contains(upper))
.GroupBy(g => new
{
g.BriefTitle,
g.ContractId
})
.Select(
x => new
{
label = x.Key.BriefTitle, // Here
id = x.Key.ContractId.ToString() // And here
}).Take(20);
答案 1 :(得分:1)