gpt4 book ai didi

c# - Automapper 继承的源和目标

转载 作者:太空狗 更新时间:2023-10-30 01:06:01 25 4
gpt4 key购买 nike

我继承了我的“用户”基类来创建特定于角色的类型。

例如...

public class Business : User{
public string BusinessName;
}

我为我的 View 模型做了类似的事情,从基本的“UserModel”开始并继承它以包含特定于角色的功能。

public class BusinessModel : UserModel{
[Required()]
public string BusinessName;
}

当我使用 Automapper 将对我的 BusinessModel 的更改映射回我的业务对象时,它不包括对继承字段的任何更改。

//create map between model and business object
Mapper.CreateMap<BusinessModel, Business>();

//load the relevant business
var business = GetCurrentBusiness();

//map the values across
Mapper.Map<BusinessModel, Business>(model, business);

对“业务”本身的任何字段的更改都存在。但是,不会对从用户继承的字段进行任何更改。

Automapper 是不是不能像这样映射继承的类型?还是我遗漏了什么?

最佳答案

您需要为基类型创建映射,然后包含继承类型。请参阅自动映射器文档 here .

Mapper.CreateMap<UserModel, User>()
.Include<BusinessModel, Business>();
Mapper.CreateMap<BusinessModel, Business>();

关于c# - Automapper 继承的源和目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16779034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com