【问题标题】:How to use linq Sum in a dynamic object如何在动态对象中使用 linq Sum
【发布时间】:2014-08-19 01:07:34
【问题描述】:

在数据访问层我有以下查询:

var result = from income in context.Incomes
                join order in context.Orders on income.OrderId equals order.OrderId
                select new
                {
                    Voucher = order.VoucherSeries + "-" + order.VoucherNumber,
                    Amount = income.IncomeAmount
                };
return result.ToList();

在业务层如何使用linq Sum for sum Amount?

【问题讨论】:

  • result.Sum(x=>x.Amount) ?
  • 您是指 IncomeAmount 还是在 income 或 order 类中是否有另一个名为 Amount 的字段?
  • 您到底是如何以任何有意义的方式声明包含此代码的方法的?
  • @L.B 嗨,我想在其他层(业务)求和。
  • @LasseV.Karlsen 想必它会返回List<object>,也就是说他没有,因为它没有有意义,即使它可以编译。

标签: c# linq entity-framework code-first


【解决方案1】:

匿名对象专门设计用于仅在创建它们的范围内使用。如果您希望能够在当前范围之外访问这些数据,那么您应该创建一个具有您需要的两个相关属性的新命名类型,而不是使用匿名类型。

【讨论】:

  • 我同意你的观点,使用命名类似乎是最合适的解决方案,所以我删除了我的答案以避免混淆。
猜你喜欢
  • 2012-10-25
  • 1970-01-01
  • 2013-07-17
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多