2
我有一個包含字典的實體,我想要實現的是automapper不是簡單地替換字典,而是更新它的值。Automapper更新字典值
class ExampleClass
{
public string Name { get; set; }
public Dictionary<int, string[]> Dictionary { get; set; }
}
Mapper.CreateMap<ExampleClass, ExampleClass>().ForAllMembers(opt => opt.Condition(srs => !srs.IsSourceValueNull));
var originalClass = new ExampleClass();
originalClass.Name = "Original Class";
originalClass.Dictionary = new Dictionary<int, string[]>
{
{0, new []{"V1", "V2", "V3"}},
{1, new []{"V1", "V2", "V3"}},
{2, new []{"V1", "V2", "V3"}}
};
var newelyCreatedClass = new ExampleClass();
newelyCreatedClass.Dictionary = new Dictionary<int, string[]>
{
{1, new []{"E1", "E2", "E9"}},
};
Mapper.Map(newelyCreatedClass, originalClass);
在上面的代碼,automapper奇怪不更新與關鍵== 1
字典元件但替換整個原始之一,在newelyCreatedClass
創建的。
那麼任何形式的幫助? –
我可以在這裏使用一些。 –
我需要一個直接的幫助,我堅持這一點,我希望自動映射器加入2個數組而不是替換它們,如果存在值就忽略它。 –