【发布时间】:2012-01-13 10:55:35
【问题描述】:
我有一个 EDM,用于带回 DAL 项目中的“产品”实体集合。 MVC 网站项目引用并直接实例化 ObjectContext 并向网站返回一个 IQueryable 用于产品的分页和显示。
这个实体,为了简单起见,我们会说只有“ID”、“Rate”和“Description”属性。我想创建另一个名为“CostPerMonth”的计算属性,它将从名为“LoanAmount”的网站获取输入,并且为了简单起见,这个“CostPerMonth”属性将由((“LoanAmount”*“率”) / 12)。
我不禁觉得这个计算应该在 DAL 项目中进行,以使代码更具可重用性,因为无论在何处使用此数据,都将始终指定“LoanAmount”。我有以下可能的解决方案:
为 Product 创建一个部分类,向 Product 添加一个新属性“CostPerMonth”。在网站控制器中,当数据返回时,通过遍历返回的数据并进行计算来填充这个新列?
为 Product 创建一个部分类,向 Product 添加一个新属性“CostPerMonth”。在 DAL 项目中,创建一个辅助类,该类具有一个接受“LoanAmount”参数并返回一个列表的方法。这样做的问题是我需要具体化数据才能进行计算。该方法可以接受可以在用于返回产品的 Linq 查询中使用的“Skip”和“Take”参数吗?
为 Product 创建一个部分类,向 Product 添加一个新属性“CostPerMonth”。使用 WCF Web 服务向解决方案添加另一层,在服务方法中进行计算并使用 REST 将数据返回到 MVC 网站?
非常感谢任何建议。
最好的问候,
标记
【问题讨论】:
标签: c# wcf entity-framework partial-classes