From 3f63457c5a9e3f38f3ba6f66bbbc2b6d5ffff905 Mon Sep 17 00:00:00 2001 From: yiming Date: Wed, 12 Nov 2025 17:04:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=BE=A9=20memberController.cs=20?= =?UTF-8?q?=E4=B8=AD=20nullable=20=E5=AD=97=E6=AE=B5=E7=9A=84=E8=99=95?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 問題: 1. CS1503: mem_num 是 int? 類型,不能直接用於 Contains(int) 2. CS0019: Count 應該使用方法調用 Count() 修復: - 第 110 行:加入 HasValue 檢查和 .Value 取值 - 第 111 行:使用 Count() 方法而非 Count 屬性 技術說明: 在 LINQ to Entities 中處理 nullable 字段時,必須: 1. 使用 HasValue 檢查是否有值 2. 使用 .Value 取得實際值 3. 確保類型匹配以便正確生成 SQL 查詢 相關文件已正確處理: ✓ accountingController.cs (第 97 行) ✓ stockController.cs (第 92 行) --- web/App_Code/api/memberController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/App_Code/api/memberController.cs b/web/App_Code/api/memberController.cs index 0be0c1a..2a37b67 100644 --- a/web/App_Code/api/memberController.cs +++ b/web/App_Code/api/memberController.cs @@ -107,8 +107,8 @@ public class memberController : BaseApiController } } - var prod2 = _db.member_check.Where(q => getDelItem.Contains(q.mem_num)).ToList(); - if (prod2.Count > 0) + var prod2 = _db.member_check.Where(q => q.mem_num.HasValue && getDelItem.Contains(q.mem_num.Value)).ToList(); + if (prod2.Count() > 0) { _db.member_check.RemoveRange(prod2); //_db.SaveChanges();