MVC5使用脚手架来处理来自其他命名空间的类(引用的DLL)

时间:2014-03-18 12:32:32

标签: c# asp.net .net asp.net-mvc-5 asp.net-mvc-scaffolding

如果Models和DbContext类不在同一名称空间中,是否可以使用MVC5 Scaffolding创建一个带View的新Controller,使用EntityFramework。

我已经在两个独立的库(Project.Models和Project.DataAccess)中定义了模型和dbcontext,并且在进入Add Controller菜单时,模型和datacontext的下拉列表不包含我正在尝试使用的类。 / p>

我当然在项目中引用了它们。

2 个答案:

答案 0 :(得分:2)

只需确保编译您的解决方案,然后转到您的MVC项目并添加对您的模型和dbcontext项目的引用,这应该使您能够在通过脚手架创建控制器或视图时查看模型和dbcontext类。

答案 1 :(得分:1)

有时MVC预测一些如何捕获第一个引用。即使您构建/重建库模型,它也不会更新MVC项目。我遇到了同样的问题并尝试了这些行动:

  1. 卸载库项目并将其重新加载到解决方案中
  2. 从MVC项目中删除了库模型引用并再次添加
  3. 在库模型项目中创建了DbContext类。
  4. 然后它奏效了。