var query = (from e in Context.Policies
where
e.SourceAirport.Contains(cabinClasses[0].Origin) &&
e.DestinationAirport.Contains(cabinClasses[0].Destination) &&
e.Flight.Contains(cabinClasses[0].Flight) &&
e.Class.Contains(cabinClasses[0].Class) &&
e.ApplicationScope == cabinClasses[0].ApplicationScope &&
e.EndTime >= dtDate &&
e.StartTime <= dtDate
select e).ToArray();运行便出现“LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex””,不知道是什么问题
where
e.SourceAirport.Contains(cabinClasses[0].Origin) &&
e.DestinationAirport.Contains(cabinClasses[0].Destination) &&
e.Flight.Contains(cabinClasses[0].Flight) &&
e.Class.Contains(cabinClasses[0].Class) &&
e.ApplicationScope == cabinClasses[0].ApplicationScope &&
e.EndTime >= dtDate &&
e.StartTime <= dtDate
select e).ToArray();运行便出现“LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex””,不知道是什么问题
现在,估计:from e in Context.Policies这样,内部明细档都是不load的,需要include明细表,否则明细档集合为空。
我的解决方法,先设一个变量,把数组的值赋给这个变量,最后把这个变量取代linq表达式中相应的cabinClasses[0].XXX