Есть ли другой способ решить эту проблему? Помимо использования .AsExpandable()
с помощью Linqkit. Помогите, если есть другой способ.
private static IQueryable<Data.BidVehicle> PredicateBuilderQuery(IQueryable<Data.Vehicle> vehicles, List<string> MileAge)
{
var predicate = PredicateBuilder.True<Data.BidVehicle>();
foreach (var mpgc in MileAge)
{
int[] splitDash = SplitAndTrimDashInt(mpgc);
int min = splitDash[0];
int max = splitDash[1];
predicate = predicate.Or(p => p.IVehicle.Mileage >= min && p.IVehicle.Mileage <= max);
}
vehicles= vehicles.Where(predicate);
//vehicles= vehicles.AsExpandable().Where(predicate);
return vehicles;
}
Expression<>
? - person DavidG   schedule 10.07.2019p.IVehicle
? Может быть, вам следует показать весь классData.BidVehicle
. - person Gert Arnold   schedule 10.07.2019ExpressionVisitor
, который, по сути, является ограниченной версиейInvoke
/Expand
LINQKit под названиемApply
, который на месте расширяетLambdaExpression
, который вы можете увидеть здесь< /а>. Обратите внимание, что этот конкретныйApply
имеет особое значение для распространенияnull
, когдаnull
является аргументом (статически обрабатываетnull.member
->null
, как если бы это былnull?.member
). - person NetMage   schedule 10.07.2019