class MeterReadingTypes
{
int id { get; set;}
bool isSelected { get; set; }
string Name { get; set; }
.....
}
的LINQ
entity.MeterReadingTypes;
有迹象表明,有真或假值的记录,我想只设定一个值设置为true,别人虚伪。
原单列表
id | isSelected | Name |
------------------------
1 | false | A |
2 | false | B |
3 | true | C |
3 | true | D |
5 | false | E |
6 | false | F |
7 | true | G |
我想这个列表设置为以下几点:
id | isSelected | .. |
-----------------
1 | false | A |
2 | false | B |
3 | true | C |
4 | false | D |
5 | false | E |
6 | false | F |
7 | false | G |
我可以做这个,我想只有一个属性设置为true
?
编辑
我的解决方案
List<OsosPlus2.Core.DataAccess.MeterReadingTypes> types = new List<Core.DataAccess.MeterReadingTypes>();
foreach (var unselectedTypes in entity.MeterReadingTypes)
{
if(unselectedTypes.Name == "C") unselectedTypes.IsSelected = true;
unselectedTypes.IsSelected = false;
types.Add(unselectedTypes);
}
return PartialView(types);
是否有任何优雅的解决方案?
'Select'和'Where'都是关于查询*而不是*设置*属性的。 (事实上,这正是LINQ的目标。)目前尚不清楚你想要实现的目标。 – 2013-02-13 08:00:20
对不起,我的意思是.select(x => new {isSelected = true}) – 2013-02-13 08:04:14
如何识别哪个项目设置为“true”? – 2013-02-13 08:27:54