我引用的SO这个问题:有道有一个计算领域的EF代码优先
Store read-only calculated field with Entity Framework Code First
他们的所作所为是有意义的,但我想的东西有点不同,我不知道我的实现是正确的,或者如果有任何更简单的方式来做到这一点:
public class AffiliateCommission
{
public int Id { get; set; }
public Merchant Merchant { get; set; }
public AffiliateCommissionType Type { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int Amount { get; set; }
public string Status { get; set; }
public DateTime RecievedDate { get; set; }
public int TotalPaid { get
{
if (Status == "Paid")
{
return this.Amount += this.Amount;
}
return 0;
}
protected set { }
}
public int TotalUnpaid
{
get
{
if (Status == "Unpaid")
{
return this.Amount += this.Amount;
}
return 0;
}
protected set { }
}
public int TotalInvoiced
{
get
{
if (Status == "Invoiced")
{
return this.Amount += this.Amount;
}
return 0;
}
protected set { }
}
}
有将是AffiliateCommissions的名单,我想获得总关基础地位的所有佣金。将其存储在不同的模型中可能?需要一些实施建议。
好吧,是的,我不需要这个任何沉重的报告或任何东西,所以也许我错误地看着解决方案。我只是想弄清楚在我的asp.net MVC控制器中引入一组AffiliateCommisions的最佳路径,将该列表返回给视图,并以简单的方式在视图中提供某些记录的总和,最好避免js。对不起,如果这没有意义。一直在编码死亡游行,现在是凌晨1点。 – ledgeJumper
@davidisawesome如果您使用的是强类型视图,那么您应该可以像访问其他人一样访问您的计算属性。如果不是,则可以改为使用视图模型。也许你的物业并没有计算你真正想要的东西 - 但目前看起来像'TotalUnpaid'会一直关注这一点。仅记录当前记录。如果你试图在记录中总结数值,那么这个类可能不是它的地方 – rouan