ASP.NET MVC Scaffolding不适用于引用的模型

时间:2012-02-06 18:51:17

标签: asp.net asp.net-mvc-3 razor asp.net-mvc-scaffolding

我有一个ASP.NET MVC 3(Razor)应用程序,它引用了一个程序集,其中程序集只不过是我在业务逻辑中使用的一堆实体。

我通过引用我的参考BL程序集中存在的实体/模型来创建强类型视图。不幸的是,通过以这种方式引用模型,脚手架功能不起作用 - 具体来说,MVC将成功创建View,但不会包含任何生成在引用模型上的公开属性的脚手架。 / p>

我能够让脚手架工作的唯一方法是在Models目录中显式创建一个继承自实体的类,并显式定义与此类似的属性:

模型示例

namespace MyMvcApplication.Models
{
    public class MyMvcModel: MyReferencedEntity
    {
        new public string Name { get { return base.Name; } }
        new public string Password { get { return base.Password; } }
        new public string Foo { get { return base.Foo; } }
        new public string Bar { get { return base.Bar; } }
    }
}

现在如果我在创建强类型视图时引用上面的模型,脚手架功能效果很好,一切都很好。

我的问题是;有没有办法让脚手架工作View引用一个不在Models目录中的类,这样我就不必重新创建类了上面的例子?

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了完全相同的情况。我遵循了这些步骤。虽然很晚了,但可能会对其他人有所帮助:

  • 卸载模型项目
  • 重新加载
  • 建立模型项目
  • 将项目引用添加到Web应用程序项目中的模型项目中
  • 尝试创建脚手架控制器。

希望这会有所帮助!