我正在尝试使用下面的代码示例搜索查找datagrid
中的数据。我已经让它与代码看起来有点不同,但我现在将在我的编码中使用 async ,我尝试使用下面的示例,但不知道如何更改代码工作正常。
private async Task btnSearchSysproStock_Click(object sender, RoutedEventArgs e)
{
using (DataEntities DE = new DataEntities())
{
List<SSData> stockSearch = await (from a in DE.tblSysproStocks where
(a => txtSearchSysproStock.Text == string.Empty || a.StockCode.Contains(txtSearchSysproStock.Text)) //The error is in this line
select new SSData
{
SID = a.StockID,
SCode = a.StockCode,
SDescription = a.StockDescription,
SConvFactAltUom = (float)a.ConvFactAltUom,
...
}).ToListAsync();
dgSysproStock.ItemsSource = stockSearch;
}
}
我收到以下错误:
无法将lamba表达式转换为&#39; bool&#39;因为它不是委托类型
任何人都可以帮助我获取我正在使用的代码。提前致谢! :)
答案 0 :(得分:3)
LINQ where
子句需要bool
表达式,你不需要lambda:
from a in ...
where txtSearchSysproStock.Text == string.Empty ||
a.StockCode.Contains(txtSearchSysproStock.Text)
select ...