![](/img/trans.png)
[英]How to tell Automapper to check if all source properties have destination properties
[英]How to tell automapper to skip mapping properties from source type if they are default values?
我有兩種類型,在屬性設置為我指定的“默認”值的情況下,我希望能夠忽略將源實例上的屬性映射到目標實例。 默認值唯一存在的地方是該類型上方或構造函數中的一部分元數據:
[System.ComponentModel.DefaultValue("")]
public string Name { get; set; }
我該怎么做呢?
您可以使用“ ResolveUsing”方法來使用反射配置值。 或者,您可以使用“ UseValue”配置方法將默認值放置在映射配置中。
例如:
ForMember(x => x.Name, x => x.ResolveUsing(GetDefaultValueAttributeContent));
要么:
ForMember(x => x.Name, x => x.UseValue("Default Value"));
要添加條件,只需使用條件映射檢查類型的默認值即可:
.ForMember(destination => destination.Name,
option =>
{
option.Condition(context =>
{
var src = context.InstanceCache.First().Value as SourceType;
return src.Name == default(string);
});
option.ResolveUsing(GetDefaultValueAttributeContent);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.