我有一个Entity数据源,我需要在将它传递给ListView之前进行过滤。这是未经过滤的版本(效果很好):
DataContext db = new DataContext();
ListView1.DataSource = db.Cars;
ListView1.DataBind();
我正在尝试了解如何仅选择蓝色的汽车(数据库中的字段/属性/行),并将这些汽车仅传递给ListView。我一直在尝试各种变化:
String selectedColor = "blue";
DataContext db = new DataContext();
ListView1.DataSource = db.Cars.Any(m => m.Cars.color == selectedColor);
ListView1.DataBind();
答案 0 :(得分:2)
这不应该更像是,
ListView1.DataSource = db.Cars.Where(car => car.Color == selectedColor);
你的db.Cars.Any(m => m.Cars.color == selectedColor)
[更正:应该是m.Color而不是m.Cars.Color如果你想顺便使用它]声明将返回true如果在你的汽车收藏中至少有一辆车有颜色值与selectedColor的值相同。
答案 1 :(得分:1)
Any()
返回一个bool。您需要Where()
答案 2 :(得分:1)
我还会使用using
语句来包装您的上下文。这应该自动处理您的上下文处理。
String selectedColor = "blue";
using(DataContext db = new DataContext())
{
ListView1.DataSource = db.Cars.Where(m => m.Cars.color == selectedColor);
ListView1.DataBind();
}