[英]MVC Inheritance with Entity Framework: How do I scaffold a derived type?
有人請向我指出.net控制器的示例代碼和派生類的視圖的方向...
(您可能會想到會有足夠的資源,但我找不到任何...)
在項目中,我有一個派生自Abstract類的類,EF映射了一個按層次結構的表db,在運行時,該數據庫使用“ UserTypeId”說明符按預期顯示。
我已經克服了最初的編譯和運行時錯誤...
我嘗試根據派生類搭建控制器,但是顯然,該控制器的ActionResult需要像
Parent parent = db.AbstractPersons.OfType<Parent>().Single(p => p.AbstractPersonId == id);
此外,索引視圖中存在運行時錯誤,因此我使用
@model IList<BeyondThemes.BeyondAdmin.Models.CardCore.Parent>
則模型沒有正確渲染所需的屬性。
似乎必須有很多人解決此問題,但是ContosoU示例(及其他示例)都沒有描述創建繼承層次結構后如何為模型的Controllers和Views提供支架。
我也很想知道EF6是否將接口與抽象類一樣對待,並且希望看到每個類型的表(甚至每個具體類的表)的示例。
最新的錯誤是
該錯誤提示你傳遞一個Model
型IList<Parent>
但你處理模型作為一個單一的元素,而不是一個集合。 如果計划傳遞多個項目,則需要添加一個foreach
語句以遍歷集合。 如果只需要一個項目,則需要將模型定義更改為僅包含一個項目(並將其從Controller傳遞到View)。
您從控制器傳遞的類型(父類)與視圖的模型(IList)不匹配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.