MvcScaffolding和Hinting找到枚举和相关的类

时间:2013-04-11 11:05:39

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

所以我有一个深度连接的POCO,我用EF5 / Code First编写,它与一些类和一对多的关系,包括性别之类的东西,它有一对一和一对多的关系,AddressType等。

非常简化的观点:

public class Contact
{
   public string FullName { get; set; }

   public string Title { get; set;

   public GenderEnum Gender { get; set; }

   public Country CountryOfBirth { get; set; }

   public string Address { get; set; }
}

我为这个Object和其他对象提供了一个DbContext,它还为Country列表和我需要表示的各种其他东西创建了很多种子数据。

然而,当我像这样使用MvcScaffolding时:

Scaffold Controller Model.Contact -Repository -DbContext Model.Context

它创建一个_CreateOrEdit.cshtml视图,显示来自我的Contact模型的String字段,但不提供Enums或任何相关类的下拉列表。

那么,我如何告诉MvcScaffolding可以从Context加载特定属性的DataType,还是需要手动执行此操作?

2 个答案:

答案 0 :(得分:3)

我认为您无法在命令行中指定,但您始终可以使用自定义模板。查看this Steven Anderson post

最好的事情之一是您只需在CodeTemplates目录上创建自定义模板,它就会自动生效,如果您添加源控件文件,它将可供您的团队使用

答案 1 :(得分:1)

实际上结果更简单了。

我所做的只是使用类关系,虽然实体框架对此很满意,但MvcScaffolding并不认识这种关系。

一旦我将支持Id字段和ForeignKey属性添加到实际类型,MvcScaffolding就会直接选择它。