【问题标题】:Update List items through Linq, Entity Framework通过 Linq、Entity Framework 更新 List 项
【发布时间】:2014-08-15 09:09:06
【问题描述】:

我的清单如下:

        List<SelectListItem> items = new List<SelectListItem>();
        items.Add(new SelectListItem() { Text = "Item 1", Value = "1", Selected = false });
        items.Add(new SelectListItem() { Text = "Item 2", Value = "2", Selected = false });
        items.Add(new SelectListItem() { Text = "Item 3", Value = "3", Selected = false });
        items.Add(new SelectListItem() { Text = "Item 4", Value = "4", Selected = false });
        items.Add(new SelectListItem() { Text = "Item 3", Value = "5", Selected = false });
        items.Add(new SelectListItem() { Text = "Item 6", Value = "6", Selected = false });
        items.Add(new SelectListItem() { Text = "Item 7", Value = "7", Selected = false });

基于它创建一个列表框。 用户可以选择多个项目(通过列表框)并将所选项目存储为字符串(3,7 表示已选择项目 3 和项目 7)。如何更新列表(在绑定之前)为值 3 和 7 设置 selected true?

string selectedItems=3,7

我可以使用 for 循环搜索项目 3 和 7 并更新 Selected=True

但是有什么捷径或者更快的方法吗?因为我的数据条目中有很多此类列表的实例

干杯

【问题讨论】:

    标签: entity-framework list c#-4.0


    【解决方案1】:

    我做了如下:

        if (selectedItems != null)
        {
           var Selected= items 
            .Where(x => selectedItems.Split(',').Any(s => x.Text.ToString().Equals(s)))
            .ToList();
    
            foreach(var item in Selected)
            {
                item.Selected = true;
            }
        }
    

    但希望有更好的方法来避免循环! 干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多