Існує клас, який залежить від домену:
public class Account : IEntity
{
public bool IsActive { get; set; }
public DateTime ExpirationDate { get; set; }
}
і деякий предикат для отримання облікових записів із джерела даних:
Expression<Func<Account, bool>> predicate = a => a.IsActive == false && a.ExpirationDate < DateTime.Now;
List<Account> lst = new List<Account>();
lst.AsQueryable().Where(predicate);
Як я можу генерувати not_predicate з мого предиката? Де not_predicate:
!(a.IsActive == false && a.ExpirationDate < DateTime.Now)
Відповіді:
2 для відповіді № 1Для цього можуть знадобитися незначні налаштування (я не на ПК) - але щось на зразок:
var not = Expression.Lambda<Func<Account,bool>>(
Expression.Not(predicate.Body), predicate.Parameters);