C# 该工具使用codegen生成映射器,但不生成DTO

C# 该工具使用codegen生成映射器,但不生成DTO,c#,mapster,C#,Mapster,我可以使用Mapster.Tool生成映射程序而不生成要映射到的类吗?我有一个典型的域对象往返于DTOs场景,但这里的示例代码 还有这里的文档 两者都关注从域对象生成DTO,或者通过使用属性对其进行注释,或者使用配置。有创建特定于CRU的DTO的配置,但我仍然希望创建自己的DTO,但不必创建自己的映射。是的,您可以-查看基于接口的代码 这允许您定义一个接口,该接口将基于现有类生成映射器 从那里,您可以选择如何使用生成的映射器。在服务中注册,然后使用DI作为一种方式 下面是一个简单的例子: [

我可以使用Mapster.Tool生成映射程序而不生成要映射到的类吗?我有一个典型的域对象往返于DTOs场景,但这里的示例代码

还有这里的文档


两者都关注从域对象生成DTO,或者通过使用属性对其进行注释,或者使用配置。有创建特定于CRU的DTO的配置,但我仍然希望创建自己的DTO,但不必创建自己的映射。

是的,您可以-查看基于接口的代码

这允许您定义一个接口,该接口将基于现有类生成映射器

从那里,您可以选择如何使用生成的映射器。在服务中注册,然后使用DI作为一种方式

下面是一个简单的例子:

[Mapper]
公共接口IContactMapper
{
ContactDetailVm映射到(Contact Contact);
}
会导致

公共部分类ContactMapper:IContactMapper
{
public ContactDetailVm映射到(联系p2)
{
返回p2==null?null:new ContactDetailVm()
{
Id=p2.Id,
已创建=p2。已创建,
LastUpdate=p2.LastUpdate,
Title=p2.Title,
FirstName=p2.FirstName,
LastName=p2.LastName,
PreferredName=p2.PreferredName,
生日=p2.生日
};
}
}

但是,我不相信您可以使用该工具为现有实体生成映射扩展方法。至少我不知道它可以在v6中完成。

感谢您的回答,我会检查它并尝试现在就让它工作。谢谢,这确实有效。现在,我试图让EF核心插件与Mapster.Tool一起工作,但没有成功。