获取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表中为相关行插入这些值,但遇到了困难。请帮助。
我想你应该是这样的
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
或自定义类而不是匿名类。