假设我有以下3个类:
public class User
{
public int UserId { get; set; }
public ICollection<Location> { get; set; }
}
public class Location
{
public int LocationId { get; set; }
public int UserId { get; set; }
public ICollection<Sale> Sales { get; set; }
}
public class Sale
{
public int SaleId { get; set; }
public int LocationId { get; set; }
public decimal Cash { get; set; }
}我有一个单一的页面上的要求,我将显示所有位置的现金总额的用户谁已经登录。我正在考虑将GetTotalCash()方法放在Locations类上,并通过LINQ在那里实现求和,但问题是我将通过User类访问Locations对象,并且我将无法调用since方法,因为Location属性是User类上的ICollection。我应该把逻辑放在User类上吗?但这没有意义,因为它不是用户对象的行为,不是吗?
顺便说一下,我使用的是EF 4.1 Code First和MVC 3。
非常感谢!
发布于 2011-11-01 18:27:33
在locations类中实现GetTotalCash()方法,在user类中实现GetCashForLocation()以获取所选位置的现金(这将委托对locations类的GetTotalCash()的调用,并在user类中实现GetTotalCash(),它将迭代所有位置并对它们的现金求和。
然后,为每个信息专家类分配应受谴责的对象,并从聚合根中进行委派
https://stackoverflow.com/questions/7955875
复制相似问题