【发布时间】:2020-06-01 16:21:09
【问题描述】:
我正在使用 C# 和实体框架开发一个按类别组织的简单费用跟踪器应用程序。
我的实体是:
- 类别:ID、名称
- 费用:Id、姓名、日期、CategoryId
我正在使用 MVVM,并分离关注点:我有一个业务层、一个数据访问层和一个视图/视图模型层。
我想在我的第一页上显示一个类别列表,其中包含特定月份在每个类别上的总花费。
我应该在哪里整合每个类别的这些金额的计算?
Q1:在我的业务层上,我的类别对象有一个“SummedExpensesAmount”字段,所以我想我会从我的业务层调用 DAL,以便为每个类别和特定月份填写此字段。 在业务层做这个操作可以吗?它实际上是否可以被视为与业务相关,或者我应该将其迁移到 DAL 并以不同的方式设计我的数据库?
第二种方法:我是否应该在 DAL on Business 上有类似的对象,并在 ViewModel 层上进行所有排序,这意味着让业务方法返回特定类别和期间的总金额,循环调用它并填充自定义类别视图型号。
每种方法的优缺点是什么?
【问题讨论】:
标签: entity-framework design-patterns mvvm database-design data-access-layer