有人请指出 .net 示例代码的方向,派生类的控制器和视图......
(你可能会想到会有很多资源,我找不到......)
在项目中,我有一个派生自Abstract类的类,EF映射每个层次的表db,并且在运行时,DB看起来像预期的那样" UserTypeId" descriminator。
我已经克服了初始编译和运行时错误......
我尝试了基于派生类的脚手架,但这显然让控制器ActionResult需要像
这样的强制转换。Parent parent = db.AbstractPersons.OfType<Parent>().Single(p => p.AbstractPersonId == id);
此外,Index视图中存在运行时错误,因此我使用
更新了视图@model IList<BeyondThemes.BeyondAdmin.Models.CardCore.Parent>
然后模型没有正确渲染所需的属性。
似乎有很多人必须解决这个问题,但ContosoU示例(和其他人)都没有描述如何在创建继承层次结构后为模型构建控制器和视图。
我也有兴趣了解EF6是否以与抽象类相同的方式处理接口,并希望看到每种类型的表格(甚至是每个混凝土类的表格)。
最新的错误是
答案 0 :(得分:0)
错误表明您传递的Model
类型为IList<Parent>
,但您将模型视为单个元素,而不是集合。如果您计划传递多个项目,则需要添加foreach
语句来循环访问该集合。如果您想要单个项目,则需要将模型定义更改为仅采用单个项目(并将其从Controller传递到视图)。
答案 1 :(得分:0)
您从控制器传递的类型(Parent)与视图的模型(IList)不匹配