我有一个带有一些计算财产的文档。没有setter并可以调用类上的其他方法以返回结果的财产,例如:
public class Order
{
public string CustomerId { get; set; }
public string VehicleId { get; set; }
public DateTime OrderDate { get; set; }
public decimal CommissionPercent { get; set; }
public List<OrdersLines> OrderLines { get; set; }
public decimal Total
{
get { return GetOrderLinesTotal() + SomeDecimal + AnotherDecimal; }
}
public decimal GetOrderLinesTotal()
{
return OrderLines.Sum(x => x.Amount);
}
}
我使用一个简单的索引来搜索Orders by customer、date和Vehicle文档上的一些财产,使用lucene查询和Transformer来创建我的视图模型。我看过脚本化索引结果,我不确定它是否适用于这种情况。
public class ViewModel
{
public string OrderId { get; set; }
public string CustomerName { get; set; }
public string VehicleName { get; set; }
public string Total { get; set; }
}
查询这些文档时,如何从Total属性中获取计算值?
我简化了GetOrderLinesTotal,实际上它是一个复杂的方法,在计算总数时考虑了许多其他财产。
我只获取在创建或更新文档时序列化的计算值。