自动映射uri到字符串约定

时间:2010-11-08 23:56:35

标签: automapper

使用Automapper,设置全局约定的最佳方法是将所有System.Uri属性转换为表示AbsoluteUri属性的字符串?

理想情况下,我希望将System.Uri设置为null String.Empty,而不是null

1 个答案:

答案 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;
    }
}