本文介绍了EF GROUPBY:不包含'BriefTitle',没有扩展方法的定义“BriefTitle”接受式的第一个参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是错此查询?



  VAR模型= 
SessionObjectsMSurvey.ContractList
。凡(Y =方式> y.ContractTitle.ToUpper()包含(上))
.GroupBy(G =>新建
{
g.BriefTitle,
g.ContractId
})
。选择(
X =>新建
{
标签= x.BriefTitle,
ID = x.ContractId.ToString()
})采取(20)。



SessionObjectsMSurvey.ContractList是IEnumerable集合。



这将无法编译,我得到;



解决方案

I think you need to insert .Key at two places in your .Select(...) call. The result of the .GroupBy(...) is a queryable of IGrouping and that interface contains a .Key property to let you access the key of your group.

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);

这篇关于EF GROUPBY:不包含'BriefTitle',没有扩展方法的定义“BriefTitle”接受式的第一个参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 01:17