我想選擇OrderId &從多個字典中提取行並創建一個包含行列表的Orders列表。將多個字典中的值從LINQ中選擇到對象列表中
我這個遠掙扎的代碼是:
var listOfDictionaries = new List<Dictionary<string, string>>();
var dict1 = new Dictionary<string, string>();
dict1.Add("OrderId", "12345");
dict1.Add("Row", "1");
listOfDictionaries.Add(dict1);
var dict2 = new Dictionary<string, string>();
dict2.Add("OrderId", "97845");
dict2.Add("Row", "10");
listOfDictionaries.Add(dict2);
var dict3 = new Dictionary<string, string>();
dict3.Add("OrderId", "12345");
dict3.Add("Row", "2");
listOfDictionaries.Add(dict3);
var grouped = listOfDictionaries.SelectMany(d =>
d.Where(kvp =>
kvp.Key.ToLower().Contains("orderid") || kvp.Key.ToLower().Contains("row")))
.GroupBy(a => a.Key).ToList();
public class Order
{
public Order()
{
OrderRows = new List<OrderRow>();
}
public string OrderId { get; set; }
public List<OrderRow> OrderRows { get; set; }
}
public class OrderRow
{
public string OrderRowId { get; set; }
}
任何人有一個好主意,如何解決這個問題?
SelectMany將他們弄平了這麼一個壞主意。 –
希望dict3之後的代碼在dict3中增加了值,而不是在dict2中。 –