次の 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」が無効です。
列名 PRODCODE は、product_description
行を削除しても問題なく機能するため、明らかに無効ではありません。
それは非常に独特です...