Linq:选择属性集合
我有两门课:Linq:选择属性集合,linq,fluent-nhibernate,linq-to-nhibernate,Linq,Fluent Nhibernate,Linq To Nhibernate,我有两门课: public class Person { public int Id{get;set;} public string Name{get;set;} public List<Order> Orders{get;set;} } public class Order { public int Id{get;set;} public string Data{get;set;} public decimal Sum{get;set;} }
public class Person
{
public int Id{get;set;}
public string Name{get;set;}
public List<Order> Orders{get;set;}
}
public class Order
{
public int Id{get;set;}
public string Data{get;set;}
public decimal Sum{get;set;}
}
如何使用流畅的语法来实现同样的效果?试试以下方法:
var result = personRepository.Query
.Where(person => person.Name.Contains("off"))
.SelectMany(person => person.Orders)
.Sum(order => order.Sum);
如果此解决方案在未选择订单时引发ArgumentNullException
,请尝试此两步解决方案:
var orders = personRepository.Query
.Where(person => person.Name.Contains("off"))
.SelectMany(person => person.Orders);
var result = orders.Any()
: orders.Sum(order => order.Sum)
? 0;
非常感谢。若所选订单的计数为0,为什么应用程序引发ArgumentNullException?
var orders = personRepository.Query
.Where(person => person.Name.Contains("off"))
.SelectMany(person => person.Orders);
var result = orders.Any()
: orders.Sum(order => order.Sum)
? 0;