1
이 코드를 사용하여 검색 필터를 만들었습니다.AND 필터를 생성하는 람다 식
데이터 배열을 전달하고이 데이터를 AND로 필터링해야합니다.
Expression<Func<serveis, bool>> CombineWithAnd<T>(Expression<Func<T, bool>> firstExpression, Expression<Func<T, bool>> secondExpression)
{
var parameter = Expression.Parameter(typeof(T), "z");
var resultBody = Expression.AndAlso(Expression.Invoke(firstExpression, parameter), Expression.Invoke(secondExpression, parameter));
return Expression.Lambda<Func<serveis, bool>>(resultBody, parameter);
}
: 그리고
Expression<Func<T, bool>> resultExpression = n => false;
foreach (var car in cars)
{
Expression<Func<T, bool>> expression = x => x.color_car.Any(z => z.car == car);
resultExpression = CombineWithAnd(resultExpression, expression);
}
query = query.Where(resultExpression.Compile());
내가 검색이 제대로 작동하거나 또는 OrElse라는를 사용하여이 동일한 코드를 사용하는 경우
.그러나 또한 AND 또는 AndAlso로 검색을 수행해야하며 항상 0 개의 결과를 반환합니다.
그리고 데이터베이스를 체크인했는데 AND 및 OR 결과가 있습니다.
그건 당신의 상태를 실패하기 때문에
:
과를 올바른, 도와 줘서 고마워. – Geo