获取Dictionary>中的键

本文关键字:viewModel List Dictionary string 获取 | 更新日期: 2023-09-27 18:13:52

我有一个这样的对象:

public class TestViewModel
{
     public int ReportNumber { get; set; }
     public int EmployerID{ get; set; }
     public string Description{ get; set; }
}

目前我得到的所有值如下:

  Dictionary<string, List<TestViewModel>> dataWithRules = Dictionary<string, List<TestViewModel>>();

字典中的值是这样的:

+ Red    100
+ Orange 80
+ Pink   50
In Detail level:
- Red 100
  100001 3456  Test
  100002 5896  Test2
  100003 78596 Test3
- Orange  80
  100004 8896 Test4
  100005 5632 Test4
问题:我正在将这些值插入到staging表中,使用下面的语句:dataWithRules.SelectMany(s => s.Value).Take(200);

当我说Take(200)时,它有来自"Red, Orange, Pink"的键值,我想在staging表中为相关行插入这些值,但遇到了困难。请帮助。

获取Dictionary<string、List<viewModel>>中的键

我想你应该是这样的

var results = dataWithRules.SelectMany(
    s => s.Value.Select(v => new { Key = s.Key, Value = v })).Take(200);

或者

var results = dataWithRules.SelectMany(
    s => s.Value.Select(v => new 
        { 
            Color = s.Key, 
            ReportNumber = v.ReportNumber,
            EmployerID = v.EmployerID,
            Description = v.Description 
        }))
    .Take(200);

现在的结果将包括颜色键和TestViewModel值。如果您需要传递它,您可以使用Tuple或自定义类而不是匿名类。

相关文章: