0
當我嘗試以下:Ormlite + PredicateBuilder 「可變範圍從 '' 引用,但它沒有定義」
public List<MatterViewModel> ReturnMatchingMatters(IEnumerable<string> matterNames)
{
var filter = PredicateBuilder.True<tblMatter>();
filter = x => matterNames.Any(mattername => mattername.ToLowerInvariant() == x.Matter.ToLowerInvariant());
return this.dal.DB.GetList<MatterViewModel>(OrmLiteConfig.DialectProvider.ExpressionVisitor<tblMatter>().Where(filter).ToSelectStatement());
}
我收到錯誤:
variable 'x' of type '[...]tblMatter' referenced from scope '', but it is not defined
([...]我的)
本質上,我試圖完成的是讓謂詞返回true,如果事項字符串包含在任何事物中。
我錯過了什麼?我是否需要使用臨時變量做某種foreach?
不知道它的問題,而是'VAR過濾= PredicateBuilder.True();'是死代碼,因爲你馬上重新分配過濾器變量。我會嘗試首先消除噪音,即直接將lambda放在Where中。 –
這是ormlite-servicestack嗎?我更新了標籤。 – Gray