我的视图模型看起来像这样:
public class CarViewModel {
public CarModel Car { get; set; }
public List<CarModel> Cars { get; set; }
}
CarModel
好像:
public class Car() {
public string Make { get; set; }
public string Model { get; set; }
. . .
}
我的目标是只有一个视图模型可以用于列表视图和单个视图。对于列表视图,我将合并 Cars 列表并在视图中使用它,同时忽略单个 Car 实体。
对于细节视图,情况正好相反。我的控制器将水合单个 Car 实体,视图将使用它并忽略列表。
这部分工作,但模型绑定很弱。
DRY(不要重复自己)和 SOC/SRP(关注点分离/单一责任主体)似乎在这里发生冲突。处理列表视图和详细信息视图的最佳方法是什么?我感觉答案是创建重复的视图模型,但如果我能提供帮助,我不想重复代码。