LINQ查询在select之后添加额外的值
本文关键字:添加 之后 查询 select LINQ | 更新日期: 2023-09-27 18:19:09
我正在用LINQ填充一个"Category"下拉列表。(Northwind数据库)
var Category = (from cat in _db.Categories.ToList()
select new SelectListItem
{
Text = cat.CategoryName,
Value = cat.CategoryID.ToString()
}).ToList();
我希望在这个列表的开头添加一个额外的值作为过滤器重置,类似于"All",所以我希望下拉菜单是这样的:
- //添加
- 饮料//来自查询
- 调味品//来自查询
var Category = new[]{ new SelectListItem(){ Text = "All" } }.Concat(
from cat in _db.Categories.ToList()
select new SelectListItem
{
Text = cat.CategoryName,
Value = cat.CategoryID.ToString()
}).ToList();
您可以将Concat
与数组常量一起使用,如下所示:
var Category = new [] { new SelectListItem {Text="All"}}
.Concat(from cat in _db.Categories.ToList()
select new SelectListItem {
Text = cat.CategoryName
, Value = cat.CategoryID.ToString()
}
).ToList();
您可以将值插入到列表中所需的位置。应该可以了
List<T>
有一个Insert方法:
Category.Insert(0, new SelectListItem { Text="All" });