我有以下 LINQ 查询。
// Query the database
IEnumerable<BestSeller> best_sellers = from bs in (db.smd_group)
where bs.COMPANY == "SMD Textiles"
where bs.DOCDATE > six_months_back
where bs.CUSREF == customer.customer_ref
group bs by bs.PRODCODE into g
orderby g.Sum(x => x.MQTY) descending
select new BestSeller()
{
product_code = g.Key.Trim(),
total_quantity = Convert.ToString(g.Sum(x => x.MQTY)),
// ERROR Occurs when the following line is removed
//product_description = g.First().prd_prddes
};
// Get the top 25 products
top25 = best_sellers.Take(25);
如您所见,我已经注释掉了BestSeller
创建对象的行。
我希望product_description
在我的BestSeller
对象中设置。所以我在下面添加了一行:
product_description = g.First().prd_prddes
“prd_prddes”是包含我们产品描述的列的名称。
但是,一旦我将此行添加到我的查询中,我就会收到一个奇怪的错误:
列名“PRODCODE”无效。
列名“PRODCODE”无效。
列名“PRODCODE”无效。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:列名“PRODCODE”无效。列名“PRODCODE”无效。列名“PRODCODE”无效。
product_description
列名 PRODCODE 显然不是无效的,因为如果我删除该行,它就可以正常工作。
这是非常奇特的...