小编jav*_*nof的帖子

Automapper ResolveUsing导致"无法将此解析为可查询表达式"

我正在使用autommaper将域类映射到模型类,反之亦然.我需要加密/解密一个属性.当我将Model映射到Domain时没有问题,完美地工作:

Mapper.CreateMap<EntityModel, Entity>().ForMember(dest => dest.Password, opt => opt.ResolveUsing(src => this.EncryptString(src.Password)))
Run Code Online (Sandbox Code Playgroud)

但是当将实体映射到模型的自动化程序崩溃并抛出"无法将其解析为可查询表达式"时:

Mapper.CreateMap<Entity, EntityModel>().ForMember(dest => dest.Password, opt => opt.ResolveUsing(src => this.DecryptString(src.Password)))
Run Code Online (Sandbox Code Playgroud)

我也尝试过自定义值解析器,结果相同:

Mapper.CreateMap<Entity, EntityModel>().ForMember(dest => dest.Password, op => op.ResolveUsing<PasswordResolver>().FromMember(x => x.Password));


public class PasswordResolver : ValueResolver<object, string>
{
        protected override string ResolveCore(object source)
    {
        return "TEST";
    }

}
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc automapper

13
推荐指数
1
解决办法
4874
查看次数

标签 统计

.net ×1

asp.net-mvc ×1

automapper ×1

c# ×1