我試圖使用PredicateBuilder,這裏描述 - http://www.albahari.com/nutshell/predicatebuilder.aspxLINQ的PredicateBuilder - 多手術室
下面的代碼
var predicate = PredicateBuilder.False<StreetDTO>();
predicate = predicate.Or(p => p.Locality.Contains(criteria.Locality));
predicate = predicate.Or(p => p.Name.Contains(criteria.Name));
predicate = predicate.Or(p => p.Town.Contains(criteria.Town));
List<StreetDTO> streetData = StreetData.Instance();
var streetList = from street in streetData.Where(predicate)
select street;
據我看到這個應該工作,根據例如
var newKids = Product.ContainsInDescription ("BlackBerry", "iPhone");
var classics = Product.ContainsInDescription ("Nokia", "Ericsson")
.And (Product.IsSelling());
var query =
from p in Data.Products.Where (newKids.Or (classics))
select p;
,但我得到的是
個錯誤1爲方法 'System.Linq.Enumerable.Where(System.Collections.Generic.IEnumerable, System.Func)' 的類型參數不能 從使用推斷。嘗試 顯式指定類型參數 。
我想在LINQ'在職'中獲得一些理解,所以如果這是一個簡單的問題,請道歉。
感謝讓我知道PredicateBuilder! – Romias 2012-05-01 17:25:49