我对MVC场景很陌生,而且之前还没有处理过这样的场景。我已经环顾网络寻找一些指向正确方向的东西,但似乎没有任何东西放入我完全理解的环境中。
我不确定这是否适用于这种情况但我目前没有使用任何类型的AutoMapper。该项目使用的是MVC5 / EF6。
模型
public class Unknown
{
public int UnknownID { get; set; }
public DateTime ReceivedDate { get; set; }
public int SetuptypeID { get; set; }
public string ClientName { get; set; }
public string RequestedBy { get; set; }
public string ResultID { get; set; }
public string RoutingNum { get; set; }
public string TransAcctNum { get; set; }
public string Company { get; set; }
public string SettleRoutingNum { get; set; }
public string SettleAcctNum { get; set; }
public string BillingRoutingNum { get; set; }
public string BillingAcctNum { get; set; }
public string PointName { get; set; }
public string PepApplName { get; set; }
public int RequestTypeID { get; set; }
public bool IsDeleted { get; set; }
public virtual SetupType SetupType { get; set; }
public virtual RequestType RequestType { get; set; }
}
SetupType'未知'需要所有字段
SetupType'内部'需要:
SetupType'ServiceVendor'需要:
还有另一个SetupType与'Internal'具有相同的字段 还有10个其他SetupType变体
字段UnknownID,ReceivedDate,SetupTypeID,ClientName,RequestTypeID和IsDeleted都在所有SetupTypes中。
我想为每个列出一个单独的ViewModel,列出所有需要的字段与DRY主体相对应。什么是表示这些SetupTypes的好方法?
答案 0 :(得分:0)
我确实认为多个ViewModel是这里的方式。如果你对违反DRY感到不舒服,你可以引入一个继承层次结构,并将公共逻辑存储在基类和特定于setuptype的逻辑中(就像你在一个派生类型中出现不同于setup type ='internal'的字段的例子)类。