錯誤消息:「存儲更新,插入或刪除語句影響了意外數量的行(0)。實體可能已被修改或刪除,因爲實體已加載。 ObjectStateManager條目「。EF:MVC:ASP:TPH錯誤 - 存儲更新,插入或刪除行數(0)。實體...修改或刪除...刷新ObjectStateManager
您好所有,
我創建了一個代碼第一次TPH(表每一個分層)內的MVC和EF與SQL緊湊分貝。
這裏的類圖/層次:
客戶端和SalesRep的兩個繼承BaseUser類。關鍵是「用戶ID」,它的編碼與數據註釋[Key]
(我知道'ID'應該設置它以及)
這裏是我在哪裏:我可以播種數據庫的幾個條目。當我嘗試它似乎忽略它,只是應用的用戶ID按數字順序播種方法設置「用戶名」 ......(似乎沒給我嗎?)
此外,這裏是我的DbContext
public class SiteDB:DbContext
{
public DbSet<BaseUser> AllUsers { get; set; }//enable TPH
public DbSet<SalesRep> SalesReps { get; set; }
public DbSet<Client> Clients { get; set; }
}
接下來,
我已經創建了一個客戶端 - > ClientsController與強類型剃刀視圖控制器。有了這個。我現在爲客戶提供了一個CRUD。我可以毫無問題地創建新的客戶端,但是當我嘗試編輯客戶端條目時,出現上述錯誤消息。
我注意到一些有趣的事情,我跨過了代碼,db.SaveChanges();錯誤正在發生。
當客戶端傳回到ActionResult編輯方法時,UserID = 0!奇怪的?我不確定這是否是一個錯誤,或者如果這是一個真正的問題,導致這一點。
您對我們的幫助表示讚賞。謝謝!
發表您的編輯方法的代碼? – Eranga