使用 mapster 出现以下问题
https://github.com/MapsterMapper/Mapster
我必须上课和一个dto课。
public class Client {
public string Requirements { get; set; }
}
public class ClientDto {
public bool RequirePkce { get; set; }
}
现在我想将需求中的值映射到 ClientDto 类中的布尔值,然后返回。从字符串到布尔值很容易,我将使用以下内容:
config.NewConfig<Client, ClientDto>()
.Map(dest => dest.RequirePkce, src => (src.Requirements ?? "").Contains("ft:pkce"));
但是我找不到映射回字符串字段的方法...映射时有什么方法可以访问目标对象?` 如下所示:
config.NewConfig<ClientDto, Client>().Map(dest => dest.Requirements, (src: ClientDto, dest: Client) => {
var ls = dest.Requirements.Split(";").ToList();
if (src.RequirePkce)
{
if (!ls.Contains("ft:pkce"))
{
ls.Add("ft:pkce");
}
}
else
{
if (ls.Contains("ft:pkce"))
{
ls.Remove("ft:pkce");
}
}
return String.Join(";", ls);
});
这只是一个例子!要求字符串属性中还有更多值,我必须以类似的方式进行映射。我希望我已经可以理解地解释我的问题...