Я немного застрял на этом. В основном у меня есть метод, которым я хочу вернуть выражение предиката, которое я могу использовать в качестве условия Where. Я думаю, что мне нужно сделать примерно следующее: http://msdn.microsoft.com/en-us/library/bb882637.aspx , но я немного застрял в том, что мне нужно делать.
Метод:
private static Expression> GetSearchPredicate(string keyword, int? venueId, string month, int year)
{
if (!String.IsNullOrEmpty(keyword))
{
// Want the equivilent of .Where(x => (x.Title.Contains(keyword) || x.Description.Contains(keyword)));
}
if (venueId.HasValue)
{
// Some other predicate added...
}
return ??
}
Пример использования:
var predicate = GetSearchPreducate(a,b,c,d);
var x = Conferences.All().Where(predicate);
Мне нужно это разделение, чтобы я мог передать свой предикат в свой репозиторий и использовать его в других местах.