我有一个包含五个文本框的页面,每个文本框代表我的数据库表中的一个字段和一个搜索按钮:
如果我使用 SQL,我可以根据哪些字段中有数据来构建我的 SQL 语句。
但是,我想使用 LINQ,但我不知道如何做到这一点。例如,看看下面的查询:
var db = new BookDBDataContext();
var q =
from a in db.Books
where a.Title.Contains(txtBookTitle) &&
a.Author.Contains(txtAuthor) &&
a.Publisher.Contains(txtPublisher)
select a.ID;
上面的查询将返回所有字段匹配表中数据的数据。但是,如果用户没有在 txtAuthor 字段中输入作者怎么办?如果我将其构建为查询字符串,我可以检查每个字段的数据并将其添加到查询字符串中。由于这是 LINQ,我似乎无法动态更改搜索条件。
任何建议将不胜感激!