var queryResults = from c in customers
group c by c.Region into cg
select new { totalSales = cg.Sum(c => c.Sales), Region = cg.Key };
// 報錯:Sales 是 string,無法直接 Sum
var queryResults = from c in customers
group c by c.Region into cg
select new { totalSales = cg.Sum(c => Convert.ToInt32(c.Sales)), Region = cg.Key };
Sales 屬性定義為 string(如 new Customer { Sales = "2002" })。Sum 需要數值類型,字符串需顯式轉換。Convert.ToInt32 安全處理 null/空字符串(返回 0),優於 int.Parse。Sales 應定義為 int/decimal,數據庫層面也用數值類型,避免查詢時反復轉換。select new { Sales = int.Parse(c.Sales), ... } 後續直接用強類型。c => string.IsNullOrEmpty(c.Sales) ? 0 : Convert.ToInt32(c.Sales)。**字符串存數值是反模式,源頭修正類型才是正道。**