首頁 > 後端開發 > C++ > 為什麼實體框架拋出'實體類型不是當前上下文模型的一部分”以及如何修復它?

為什麼實體框架拋出'實體類型不是當前上下文模型的一部分”以及如何修復它?

Mary-Kate Olsen
發布: 2025-01-01 00:19:10
原創
144 人瀏覽過

Why Does Entity Framework Throw

實體框架中的模型映射錯誤

在實體框架中使用程式碼優先方法時,確保模型是至關重要的正確映射到資料庫。遇到的一個常見錯誤是「實體類型 不是目前上下文模型的一部分。」

當 DbContext 不知道正在存取或修改的實體類型時,通常會發生此錯誤。要解決此問題,您需要將實體明確地對應到 DbContext 中的資料庫表。

對於提供的程式碼,解決方案在於重寫自訂OnModelCreating 方法>DimensionWebDbContext 類別:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Estate>().ToTable("Estate");
}
登入後複製
通過表ToTable 方法,您指示DbContext Estate 實體應對應到資料庫中的「Estate」表。 如果沒有此明確映射,實體框架假設實體映射到與其類別名稱同名的表(在本例中為

Estate)。由於資料庫尚未初始化,因此不包含具有該名稱的表,從而導致錯誤。

透過正確映射實體,實體框架可以識別要與之互動的表,從而解決錯誤並允許從儲存庫插入和修改實體。

以上是為什麼實體框架拋出'實體類型不是當前上下文模型的一部分”以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板