2013-12-23 32 views
1

我使用ValueInjecter而不是AutoMapper。我試圖用ValueInjecter:如何在執行.InjectFrom <UnflatLoopValueInjection>(數據)時忽略某些屬性?

.InjectFrom<UnflatLoopValueInjection>(model) 

它的工作原理進行unflattening操作,但我也想specity一些屬性unflattening操作過程中忽略,例如寫一樣的東西:

.InjectFrom<UnflatLoopValueInjection>(new IgnoreProperties("Prop1", "Prop2"), model) 

.InjectFrom<UnflatLoopValueInjection>(model).IgnoreProperties("Prop1", "Prop2") 

任何想法?

回答

0

您可以獲取UnflatLoopValueInjection的源代碼並創建您自己的具有此功能以及您需要的其他任何注入。

這裏是它的代碼:http://valueinjecter.codeplex.com/SourceControl/latest#ValueInjecter/UnflatLoopValueInjection.cs

您可以添加一個屬性忽略的屬性或把它在構造函數中,並在那裏你也行

var prop = sourceProp; 

//add 
if(ignoredProps.Contains(prop) continue; 

這應該給你一個快速的想法你可以做什麼

2

隨着Omu.ValueInjecter(V3.1.1截至發稿時)的最新版本,此功能是內置的:

instanceA.InjectFrom(new LoopInjection(new[] { "Prop1", "Prop2" }), instanceB); 

Prop1Prop2將被忽略。

此功能可能在以前的版本中存在,但不在v2.3中。