条件Linq查询

joh*_*doe 0 c# linq-to-sql

我有一个下拉列表,选中时会从数据库中提取数据.下拉列表中有许多选项,其中一个是"全部".我希望当用户选择"全部"选项时,它应该将所有内容从数据库中拉出来.实现此功能的好方法是什么?

Mar*_*ers 7

使用LINQ,您可以在将查询发送到数据库之前轻松修改它:

IQueryable<Item> query = dataContext.Items;

if (selectedText != "All")
{
    query = query.Where(item => item.Type == selectedText);
}

List<Item> result = query.ToList();
Run Code Online (Sandbox Code Playgroud)

或者,您可以在单个查询中编写它:

IQueryable<Item> query = dataContext.Items
    .Where(item => selectedText == "All" || item.Type == selectedText);
Run Code Online (Sandbox Code Playgroud)