0

我需要帮助的人。我是一个MVC新手..

我收到此错误

传入字典的模型项是 type System.Collections.Generic.List'1[BaseClass],但是这个字典需要一个 type 的模型项System.Collections.Generic.IEnumerable'1[DerivedClass]

这些是我的两个动作

namespace Namespace.Controllers
{ 
    public class DerivedController : Controller
    {
        private Context db = new Context();
    }

    public ViewResult Index()
    {
        var baseClass= db.BaseClass.Include(s => s.Arrea);
        return View(BaseClass.ToList());
    }

    //
    // GET: /Derived/Details/5

    public ViewResult Details(int id)
    {
        Derived derived = db.BaseClass.OfType<Derived>().Single(c => c.SDSID==id);
        return View(derived);
    }

我将 EF codefirst 与 TPT 继承一起使用。到目前为止,包括基类在内的一切都有效。我究竟做错了什么?我已经搜索了2天了。任何帮助将不胜感激。

4

1 回答 1

1

您的视图可能是强类型的,并且您将错误的内容传递给它。

您视图中的第一行应该类似于(如果您使用的是剃须刀)...

@model IEnumerable<DerivedClass>

将其更改为...

@model IEnumerable<BaseClass>
于 2012-09-30T19:45:22.697 回答