SP报错内容:此查询使用不支持的元素,例如引用多个列表,或使用 EntityRef/EntitySet 投影完整实体

这是不可行的代码

 

 private void GetEmployees()
        {
            var empQuery = from emp in Employees
                           select new
                           {
                              Title=emp.标题,
                              JobTitle=emp.JobTitle,
                              ProjectTitle=emp.ProjectTitle
                           };
            spGridView.DataSource = empQuery;
            spGridView.DataBind();
        }


 

这是可行的代码

private void GetEmployees()
        {
            var empQuery = from emp in Employees
                           select new
                           {
                               Title = "空值11",
                               JobTitle = "空值1111",
                               ProjectTitle = "继续空值22222"
                           };
            spGridView.DataSource = empQuery;
            spGridView.DataBind();
        }


 

 由上可知,代码是没错的。问题就出在“对象中的某些字段是不支持的这样查询的” ,解决方法应该是根据ID去获取。但是以下情况也要注意,不然也会出现这样的报错

演练http://msdn.microsoft.com/zh-cn/library/ff742311(v=office.14).aspx

 

表达式 emp.Project.DueDate 和 emp.Project.Title 会在“员工”和“项目”列表之间创建隐式连接。另请注意,select语句仅指定将真正显示在 Web 部件中的字段。不需要通过网络将每个项目项的“说明”字段从内容数据库发送到前端 Web 服务器。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值