1
一段時間嘗試使用WCF數據服務以更新表中的字段時,我無法找出錯誤的原因加上實體框架:WCF數據服務更新的實體錯誤和類型表的主鍵
MydbEntities context = new MydbEntities(new Uri("http://localhost:53051/Services/MydbService.svc"));
MyEntity entitytoedit = context.MyEntity.FirstOrDefault();
entitytoedit.Name = "TheNewName";
context.UpdateObject(entitytoedit);
context.BeginSaveChanges(OnChangesSaved, context);
...
錯誤如下:RequestException處理此請求時發生錯誤。
此修復程序是添加一個自動增加的decimal(18, 0)
場與標識規範IsIdentity = yes
,而不僅僅是一個varchar(20)
字段作爲主鍵的主鍵。
請問,有人可以解釋問題的性質:我應該總是使用WCF數據服務自動增量主鍵嗎?如果不是,那麼我究竟在哪裏錯了?
您確定對象已更新並且未再次插入嗎? – 2011-06-06 17:45:12
很確定。至少,autoincremental主鍵字段值與更新之前保持不變。 – rem 2011-06-06 18:02:32
您是否嘗試打開異常詳情?你可以用'[ServiceBehavior(IncludeExceptionDetailsInFaults = true)]'標記你的服務類,或者在配置中使用這個設置。 – 2011-06-06 18:10:28