将数据填充到嵌套的Dictionary Collection

时间:2012-09-18 09:46:56

标签: c#

我有一个收藏品 List<Employee>包含

等属性

NameEmployeeIDAddressJobTitle等等

对于每个员工,几列都没有变化,基于这几列我需要更新我的Active Directory。

因此,我为每列创建一个isEditable字段,表示该列是否已更改为特定员工。但事实证明,我需要为所有列创建此字段,并且列数也会经常更改。

所以我提出了嵌套字典集合

 Dictionary<int, Dictionary<object, bool>>

Employee ID存储为keyobject类型将存储所有column namesbool默认为{{1} }

但我不知道如何用false Collection填充上面的嵌套集合。

这是我到现在为止所尝试的

List<Employee>

但它的投掷错误。我正在尝试从每个Dictionary<int, Dictionary<object, bool>> _isEditable = new Dictionary <int, Dictionary<object, bool>>(); foreach (var item in _empColl ) { foreach (var type in _empColl .GetType ().GetProperties ()) { _isEditable.Add (item.EmployeeID ,dict.Add (type.Name,false)); } } 的{​​{1}}获取元数据(列名称)

1 个答案:

答案 0 :(得分:2)

您可以使用以下LINQ获取结果:

 var _isEditable = _empColl.ToDictionary(item => item.EmployeeID,
                                         item => item.GetType()
                                                  .GetProperties()
                                                  .ToDictionary(pro => pro.Name, 
                                                                pro => false));