修正多處 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:
@@ -258,8 +258,12 @@ public partial class admin_hr_import : MyWeb.config
|
||||
|
||||
int f_num = fDt.Where(x => x.f_number == ValString(sheet.Cells[currentRow, 1].Text.Trim())).Select(x => x.num).FirstOrDefault(); //信眾編號id
|
||||
int a_num = aDt.Where(x => x.u_id == ValString(sheet.Cells[currentRow, 12].Text.Trim())).Select(x => x.num).FirstOrDefault(); //系統帳號id
|
||||
int g_sum = gDt.Where(x => x.ToString() == ValString(sheet.Cells[currentRow, 16].Text.Trim())).FirstOrDefault(); //組別
|
||||
int t_sum = tDt.Where(x => x.ToString() == ValString(sheet.Cells[currentRow, 17].Text.Trim())).FirstOrDefault(); //職稱
|
||||
// ❌ 錯誤寫法: int g_sum = gDt.Where(x => x.ToString() == ValString(...)).FirstOrDefault();
|
||||
// 應該先轉換為整數再比較,避免不必要的字串轉換
|
||||
int.TryParse(ValString(sheet.Cells[currentRow, 16].Text.Trim()), out int g_sum_parsed);
|
||||
int g_sum = gDt.Contains(g_sum_parsed) ? g_sum_parsed : 0; //組別
|
||||
int.TryParse(ValString(sheet.Cells[currentRow, 17].Text.Trim()), out int t_sum_parsed);
|
||||
int t_sum = tDt.Contains(t_sum_parsed) ? t_sum_parsed : 0; //職稱
|
||||
|
||||
//定義日期欄位格式
|
||||
sheet.Cells[currentRow, 6].Style.Numberformat.Format = "yyyy-MM-dd";
|
||||
|
||||
Reference in New Issue
Block a user