看板 C_Sharp 關於我們 聯絡資訊
查過MSDN,這個錯誤似乎是個bug 例如我的sql: table name: customer column: cust_id; type:varchar(8) linq code: DataClassesDataContext dcc = new DataClassesDataContext(); //以下這段出現錯誤 CUSTOMER customer = dcc.CUSTOMER.SingleOrDefault(c => c.cust_id.Equals(id)); //id為登入者之session,長度為8 if(string.IsNullOrEmpty(customer.form)) //如果該欄為null(未設定過) { customer.form = formsrl; //formsrl為web中要給使用者選擇更改的值 } else { //... } 錯誤訊息為"字串長度必須剛好一個字元。" (A character string length must be exactly) 查過網路似乎為一個vs2008的bug,不知道有沒有解?@@ 之後是改用SqlCommand的舊方法直接下update指令結果ok linq就一直出現這種錯誤...orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.140.36
knifehandz:VS2008 的 bug 是在於 varchar(1) 對應成 char 12/01 06:34
knifehandz:你的資料表設計有 varchar(1) 就有可能,解決方式是 12/01 06:35
knifehandz:手動改 EF 的 char 型別為 string 12/01 06:35
vulurn:感謝~資料表還真的是varchar(1) 12/01 13:00
vulurn:雖然是跟session不同欄位,不過看來也是會影響到? 12/01 13:03