and*_*ndy 1 c# linq asp.net-mvc linq-to-sql
如何过滤从数据库中填充的SelectList?在这个例子中,我只想要在列表中显示白色兔子(颜色是兔子对象上的属性).我试图在Select的末尾添加一个位置,但我只能看到Id和Name作为我可以过滤的条件.
var bunnies = db.Bunnies.Select(x => new SelectListItem
{
Value = x.Id.ToString(),
Text = x.Name,
}
);
return new SelectList(bunnies , "Value", "Text");
Run Code Online (Sandbox Code Playgroud)
我以为我可以这样做:
var bunnies = db.Bunnies.Select(x => new SelectListItem
{
Value = x.Id.ToString(),
Text = x.Name,
}
).Where(p => p.Color == "white");
return new SelectList(bunnies , "Value", "Text");
Run Code Online (Sandbox Code Playgroud)
不像在SQL,在LINQ的Where条款往往来之前的Select条款(除非你想只在你的在投射出这些领域的过滤Select条款):
var bunnies = db.Bunnies.Where(p => p.Color == "white")
.Select(x => new SelectListItem
{
Value = x.Id.ToString(),
Text = x.Name,
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4882 次 |
| 最近记录: |