使用Automapper,设置全局约定的最佳方法是将所有System.Uri
属性转换为表示AbsoluteUri
属性的字符串?
理想情况下,我希望将System.Uri设置为null String.Empty
,而不是null
。
答案 0 :(得分:7)
设置地图:
Mapper.CreateMap<System.Uri, string>().ConvertUsing<UriToStringConverter>();
创建TypeConverter类:
public class UriToStringConverter : ITypeConverter<System.Uri, string>
{
public string Convert(ResolutionContext context)
{
if (context.SourceValue == null)
{
return String.Empty;
}
return ((System.Uri)context.SourceValue).AbsoluteUri;
}
}