我是ASP.Net和LINQ的新手。我正在做一個小項目。它基本上由一個帶有四個文本框的屏幕,一個listview控件和一個帶有一個數據庫表的搜索按鈕組成。使用LINQ和多個「關鍵字」返回結果?
每個文本框都代表某個字段:作者,標題,出版商和價格。我的設想是用戶可以在一個或多個字段中輸入文本並點擊搜索按鈕。然後該程序將返回任何可以找到符合用戶標準的結果。
如果我正在使用SQL語句,我只需選擇與任何輸入字段匹配的每個記錄(即SELECT作者,標題,出版商,價格FROM書籍WHERE ...)。但是,我不太清楚如何使用LINQ來做到這一點。
那麼,有沒有人有我的起點?我已經看到了LINQ的例子有一個字段作爲查詢限制器:
public void SimpleSearch()
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var q =
from a in dc.GetTable<Books>()
where a.Title == "1984"
select a;
dataGridView1.DataSource = q;
}
但我似乎無法找到使用超過一個限制器上搜索任何其他的例子。我開始認爲這是不可能的。如果是這樣,有人可以推薦一種不同的方式來完成我想要做的事情嗎?基本上,我只想在表格中搜索與用戶輸入相匹配的字段,並以列表視圖返回結果。任何幫助將不勝感激。
請記住,有一些語言/文化ToLower(和ToUpper)可能有問題。參見f.ex.這SO帖子:http://stackoverflow.com/questions/234591/upper-vs-lower-case – larsts 2015-09-02 10:41:28