[英]Filter a complex object with Linq
我需要基於此復雜對象過濾IEnumerable列表。 我需要對嵌套的字典元素之一執行比較運算符。 現在,我在父對象上有一個where子句。 如何構造linq擴展方法以對最里面的字典中的關鍵元素之一進行過濾?
/* Object */
public class AuditData
{
public string Agent { get; set; }
public AuditDataAction Action { get; set; }
}
/* Inner Object */
public class AuditDataAction
{
public AuditDataAction()
{
Data = new List<Dictionary<string, Dictionary<string, object>>>();
}
public IList<Dictionary<string, Dictionary<string, object>>> Data { get; set; }
}
/* Code */
var myData =
auditRepository.GetAuditEntriesFor(new AuditData {Rim = rimNo})
.Where(d => d.Action.Adjent == "111").ToList();
為了配對IEnumerable中的項目,我需要查看其中一個詞典中的數據,並查看是否存在鍵才能做出此決定。 這是說明數據結構外觀的聲明。 如果KeyOfInterest存在,我希望保留list元素。
auditData.Action.Data =
new List<Dictionary<string, Dictionary<string, object>>>
{
new Dictionary<string, Dictionary<string, object>>
{
{
"KeyOfInterest", new Dictionary<string, object>
{
{"Key1", value1},
{"Key2", value2}
}
}
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.