2016-01-23 74 views
0

我在最新版本的實體框架和mysql連接器6.9.8上創建了我的web應用程序。但由於服務器的兼容性,我不得不降級到實體Framwrok 5和MySQL連接器6.3.7。dbcontext.SaveChnages();當插入到數據庫拋出異常DbUpdateException,在Mysql中使用EF5

它在EF6上工作正常,但是當我在EF5上運行它時,它在插入任何記錄時開始拋出異常。

lamiEntities1 lam = new lamiEntities1(); 
       ordered or = new ordered(); 
       or.PartyId = id; 
       or.ItemId = itemid; 
       or.Desc = txtDesc.Text; 
       or.Dated = date; 
       or.Qty =int.Parse(txtqty.Text); 
       or.Remarks = txtremarks.Text; 
       lam.ordereds.Add(or); 
       lam.SaveChanges(); 

在lam.SaveChanges();我得到異常'System.Data.Entity.Infrastructure.DbUpdateException' 發生在EntityFramework.dll但在用戶代碼」

注意 - 沒有處理: 我使用新的模式和新的web.config製作新項目代碼文件是舊的

回答

0

堆棧跟蹤將包含來自SQL透視圖的更多信息我最初的想法是您違反了SQL約束(例如主鍵)

我會確保您不會嘗試將重複的主鍵插入Ordered表中,同時確保任何外鍵(例如ItemId)存在於其引用的表中。

+0

它發生在每一張桌子上。它在EF6上運行良好。是的,你看起來正確,我可以在實體對象中看到,ID列的值爲0,它是自動遞增的。 – Akash

+0

@Akash - 嘗試從查詢中刪除ID列,或者針對MySQL運行配置文件,查看Entity Framework生成的SQL語句。你的舊工作代碼和現在你有什麼改變? –

相關問題