通常我使用以下类填写表单上的下拉列表或列表:
class DisplayValue
{
string Display { get; set; }
string Value { get; set; }
bool Selected { get; set; }
}
问题:如果DisplayValue的List来自BusinessLayer,这是一个很好的解决方案吗?人们说"业务层应返回业务对象,如人员,发票,合同。但表示层应该准备ViewModel。"。在这种情况下,我们注定要从DB查询额外的数据。例如,我需要使用以下文本下拉#34; FirstName LastName,TotalAmount"。在这种情况下,我注定要从BL的人员列表和每个人的发票列表中查询,以在控制器中构建DisplayValue列表。
什么是最佳解决方案?
答案 0 :(得分:0)
我会考虑在BL中添加类似GetNamesAndInvoiceTotal()的方法。你应该在那里总结发票等所有逻辑。防止污染表示层并清楚表明它的用途。但是你需要注意,如果更好的结构更合适,你不会让你的BL返回DisplayValue
类,只因为你在其他地方做了什么。