Dr.*_*izz 0 c# linq database search filter
我正在尝试使用 Linq 从搜索用户控件中查询数据库。
我有一个使用用户输入搜索数据库的 Linq 查询。
这是我目前使用的代码:
var query = from invite in db.invites
where invite.Division == userInput.Division.Text &&
invite.Status == userInput.Status.Text
select invite;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,如果其中一个是空的,我不需要将它考虑到搜索过滤器中。考虑到我有很多过滤器而不仅仅是状态和部门,有没有办法正确地做到这一点?
由于延迟执行,您可以有条件地分段构建查询。
var query = db.invites.AsQueryable();
if(!string.IsNullOrEmpty(userInput.Division.Text))
query = query.Where(invite => invite.Division == userInput.Division.Text);
if(!string.IsNullOrEmpty(userInput.Status.Text))
query = query.Where(invite => invite.Status== userInput.Status.Text);
Run Code Online (Sandbox Code Playgroud)