Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带实体框架的MVC继承:如何构建派生类型?_C#_Asp.net Mvc_Entity Framework_Web Applications - Fatal编程技术网

C# 带实体框架的MVC继承:如何构建派生类型?

C# 带实体框架的MVC继承:如何构建派生类型?,c#,asp.net-mvc,entity-framework,web-applications,C#,Asp.net Mvc,Entity Framework,Web Applications,有人请告诉我.net控制器和派生类视图的示例代码的方向 (你可能会认为会有很多资源,我找不到任何…) 在这个项目中,我有一个从抽象类派生的类,EF映射每个层次结构db的一个表,在运行时,db使用“UserTypeId”描述符看起来与预期的一样 我已经克服了初始编译和运行时错误 我尝试基于派生类构建一个控制器,但这显然使控制器ActionResult需要类似于cast的转换 Parent parent = db.AbstractPersons.OfType<Parent>().Sing

有人请告诉我.net控制器和派生类视图的示例代码的方向

(你可能会认为会有很多资源,我找不到任何…)

在这个项目中,我有一个从抽象类派生的类,EF映射每个层次结构db的一个表,在运行时,db使用“UserTypeId”描述符看起来与预期的一样

我已经克服了初始编译和运行时错误

我尝试基于派生类构建一个控制器,但这显然使控制器ActionResult需要类似于cast的转换

Parent parent = db.AbstractPersons.OfType<Parent>().Single(p => p.AbstractPersonId == id);
Parent-Parent=db.AbstractPersons.OfType().Single(p=>p.AbstractPersonId==id);
此外,索引视图中存在运行时错误,因此我使用

@model IList<BeyondThemes.BeyondAdmin.Models.CardCore.Parent>
@model-IList
那么模型就没有正确渲染所需的属性

似乎有很多人已经解决了这个问题,但ContosoU示例(和其他示例)都没有描述如何在创建继承继承继承权后为模型构建控制器和视图

我还想知道EF6是否以与抽象类相同的方式对待接口,并希望看到每个类型的表(甚至每个具体类的表)的示例

最新的错误是

错误表明您正在传递类型为
IList
模型,但您将模型视为单个元素,而不是集合。如果计划传递多个项,则需要添加
foreach
语句来循环集合。如果需要单个项目,则需要更改模型定义以仅获取单个项目(并将其从控制器传递到视图)。

从控制器传递的类型(父项)与视图的模型(IList)不匹配。

我不确定您的问题出在哪里。您有“修复了编译和运行时错误”,还有其他一些“运行时错误”。你能更详细一点吗?到底是什么不起作用?谢谢你来回答我的问题。。。视图存在一个问题,模型没有任何属性。我添加了一个错误的屏幕截图。我在视图的表的第二部分中有foreach循环。。。问题在于.DisplayNameFor()的。。。我不明白为什么它适用于IEnumberable(Model)而不适用于IList?问题是(只是)为表中的每一列创建标签并循环通过标题会给出重复的列标题。好吧,我想我可以在列表中使用.first(),比如Model=>Model.first().FirstName或在控制器中返回vew.asEnumerable()。