Ein bisschen feststecken. Grundsätzlich habe ich eine Methode, die ich einen Prädikatausdruck zurückgeben möchte, den ich als eine Where-Bedingung verwenden kann. Ich denke, was ich tun muss, ist ähnlich zu diesem: http://msdn.microsoft.com/en-us/library/bb882637.aspx, aber ich bin ein bisschen fest, was ich tun muss.Wie Sie ein Linq-Prädikat basierend auf Benutzereingaben dynamisch erstellen und zurückgeben können
Methode:
private static Expression<Func<Conference, bool>> 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 ??
}
Verwendungsbeispiel:
var predicate = GetSearchPreducate(a,b,c,d);
var x = Conferences.All().Where(predicate);
Ich brauche diese Trennung so, dass ich mein Prädikat in mein Repository passieren kann und es in anderen Orten.
Schön, macht genau das, was ich will :) –