[英]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.