using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DapperExtensions { public class GetMultiplePredicate { private readonly List _items; public GetMultiplePredicate() { _items = new List(); } public IEnumerable Items { get { return _items.AsReadOnly(); } } public void Add(IPredicate predicate, IList sort = null) where T : class { _items.Add(new GetMultiplePredicateItem { Value = predicate, Type = typeof(T), Sort = sort }); } public void Add(object id) where T : class { _items.Add(new GetMultiplePredicateItem { Value = id, Type = typeof (T) }); } public class GetMultiplePredicateItem { public object Value { get; set; } public Type Type { get; set; } public IList Sort { get; set; } } } }