所以我有一个深度连接的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,还是需要手动执行此操作?
答案 0 :(得分:3)
我认为您无法在命令行中指定,但您始终可以使用自定义模板。查看this Steven Anderson post
最好的事情之一是您只需在CodeTemplates目录上创建自定义模板,它就会自动生效,如果您添加源控件文件,它将可供您的团队使用
答案 1 :(得分:1)
实际上结果更简单了。
我所做的只是使用类关系,虽然实体框架对此很满意,但MvcScaffolding并不认识这种关系。
一旦我将支持Id字段和ForeignKey属性添加到实际类型,MvcScaffolding就会直接选择它。