有點困難。基本上我有一個方法,我想返回一個謂詞表達式,我可以用作Where條件。 我認爲我需要做的是類似於此:http://msdn.microsoft.com/en-us/library/bb882637.aspx但我有點卡住,我需要做什麼。如何根據用戶輸入動態構建並返回一個linq謂詞
方法:
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 ??
}
實例應用:
var predicate = GetSearchPreducate(a,b,c,d);
var x = Conferences.All().Where(predicate);
我需要這種分離,這樣我可以通過我的謂語進入我的倉庫,並在其他地方使用它。
不錯,正是我想要的:) – 2010-10-14 12:24:33