3

这是我失败的代码

        var query = from gg in Client.wcf.context.Good
                    from cc in Client.wcf.context.Customer
                    from ch in Client.wcf.context.CashHeading
                    from cs in Client.wcf.context.Cash
                    where ch.Id_customer == cc.Id
                    where cs.Id_cashheading == ch.Id
                    where gg.Id == cs.Id_good
                    select new CustomerOrderResult {
                        CustomerID = cc.Id,
                        Price = gg.Price.HasValue ? gg.Price.Value : 0,
                        Date = ch.Date.HasValue ? ch.Date.Value : DateTime.Now
                    };
        List<CustomerOrderResult> qqq = query.ToList();

附加信息:不支持“选择”方法。

这解决了错误:为什么这个 Linq 不起作用(将 Linq 表达式转换为 URI 时出错:只能指定查询选项(orderby、where、take、skip)

查询是另一个 linq,总的来说,它是 WCF 数据客户端到服务器(实体)应用程序的完整源文件在这里,在 GitHub 上

那里的其他 linq 查询工作正常

错误:+ query {Error translating Linq expression to URI: The method 'Select' is not supported.} System.Linq.IQueryable<CustomerOrderResult> {System.Data.Services.Client.DataServiceQuery<CustomerOrderResult>.DataServiceOrderedQuery}

4

1 回答 1

1

大概query包含null. 尝试

where x != null && x.CustomerID == c.Id 
于 2012-07-20T06:54:29.017 回答