我搜索了四处,并且人们都在讨论如何使用ExpandDo与动态,但我一直未能弄清楚如何执行这与从LINQ查询返回的集合。将LINQ anomyous类型结果传递给ASP.NET 5 MVC查看
我在做一个内部联接我
var innerJoin =
from e in db.Enrollments
join s in db.Student on e.StudentID equals s.StudentID
select new { Student= s.Name , Course = e.CourseID };
我已经试过
dynamic model = innerJoin.ToList().ToExpando();
return View(model)
,我有
@model System.Collections.Generic.IEnumerable<dynamic>
2个表(学生和入学率)之间的数据库在我View.cshtml的顶部
,但它给出了这个错误,当我尝试导航到Web应用程序控制器:
传递到字典的模型产品类型 “System.Dynamic.ExpandoObject”,但这部词典需要一个模型 项目类型 'System.Collections.Generic.IEnumerable`1 [System.Object]'。 ''
我也试过:
dynamic model = innerJoin.ToList();
return View(model);
但后来在我看来(.cshtml文件)我
@foreach (dynamic item in Model)
{
<tr>
<td>
@Html.Raw(item.Course)
</td>
</tr>
}
它会在@ Html.Raw线BARF与
类型的异常'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'发生在 App_Web_index.cshtml.1bbec3a6.jtomobws.dll但在用户 代码
没有处理理想情况下,我想使之成为一个衬垫。在我看来,我希望能够遍历一系列属性包,并提取学生和课程字段。所以我的物业包包含物业学生和课程,他们会收集他们。我看过很多类似的帖子,但没有这样做
感谢 托马斯
不要使用'dynamic'!使用“学生”和“课程”属性创建视图模型。 –
谢谢,你可能是对的,我看到这个建议很多。无论如何,为了学习,我对如何使用动态进行实际操作感兴趣。 – Prof