修正多處 LINQ-to-Entities 查詢,避免 Nullable .Contains()、.ToString()、Request[] 直接使用造成翻譯失敗。

API 查詢同步改寫 .Contains()、.OrderBy()、複雜 GroupBy/Math.Round,必要時 materialize 或加 HasValue。
Participation rate / kind breakdown 改在記憶體計算,同時檢查整數陣列 .Contains() 的型別安全性。
This commit is contained in:
2025-11-14 23:40:55 +08:00
parent 4fcbfb3801
commit 27f916eb9c
14 changed files with 245 additions and 115 deletions

View File

@@ -31,8 +31,13 @@ public partial class admin_bed_new_reg : MyWeb.config
keyin1.Items.Add(item);
}
// ❌ 錯誤寫法: var prod = qry.Where(q => q.order_no == Request["order_no"].ToString() && q.o_detail_id == Convert.ToInt32(Request["detail"])).FirstOrDefault();
// LINQ to Entities 無法轉換 Request 和 Convert 方法,必須先轉換為變數再使用
string orderNo = Request["order_no"]?.ToString();
int detailId = Convert.ToInt32(Request["detail"]);
var qry = _db.bed_order.AsQueryable();
var prod = qry.Where(q => q.order_no == Request["order_no"].ToString() && q.o_detail_id == Convert.ToInt32(Request["detail"])).FirstOrDefault();
var prod = qry.Where(q => q.order_no == orderNo && q.o_detail_id == detailId).FirstOrDefault();
if (prod != null)
{
bed_order_no.Text = prod.bed_order_no.ToString();