鞣谘坡 发表于 2025-6-2 22:44:03

经过几天的努力Biwen.AutoClassGen终于实现了DTO复杂属性的生成

前言

距写上一篇 https://www.cnblogs.com/vipwan/p/18535459 生成DTO已经有一段时间了,
最初没有考虑复杂二级属性嵌套的实现,而是直接使用排除使用自定义的方式解决这个问题,
但是这个有些违背简约到底的初衷,并且也有好几个网友提出希望支持复杂嵌套属性DTO的功能,最近自己凑了几天时间打磨了一下,算是大致实现了这个功能
使用方式

支持特性继承

比如我们的DTO对象也需要,等校验型特征,我们只需要目标类的属性标注即可,生成的DTO也将传递这些重要的特性,对于OpenApi文档以及一些验证场景会相当有帮助:

public class Person
{
   
    public string Name { get; set; } = string.Empty;
   
    public int Age { get; set; }
}生成的DTO:
/// <inheritdoc cref = "Person.Name"/>

public string Name { get; set; }
/// <inheritdoc cref = "Person.Age"/>


public int Age { get; set; }支持复杂属性嵌套生成

实体定义示例:
// 主实体
public class Person
{
   
    public string Name { get; set; } = string.Empty;
   
    public int Age { get; set; }
    // 嵌套对象
    public Address Address { get; set; } = new();
    // 集合属性
    public List<Hobby> Hobbies { get; set; } = [];
    // 使用特性标记忽略的属性
   
    public string Igrone2 { get; set; } = null!;
}

// 嵌套实体
public class Address
{
   
    public string Street { get; set; } = string.Empty;
   
    public string City { get; set; } = string.Empty;
   
    public string State { get; set; } = string.Empty;
   
    public string ZipCode { get; set; } = string.Empty;
}

// 集合项实体
public class Hobby
{
   
    public string Name { get; set; } = string.Empty;
   
    public string Description { get; set; } = string.Empty;
    // 多层嵌套
    public HobbyExtend Extend { get; set; } = new();
}

public class HobbyExtend
{
    public string Extend1 { get; set; } = string.Empty;
    public string Extend2 { get; set; } = string.Empty;
    public InnerExtend Extend3 { get; set; } = new();
}

public class InnerExtend
{
    public string InnerExtendMsg { get; set; } = string.Empty;
}
[*]普通 DTO(单层映射)
/// <summary>
/// 没有复杂属性嵌套的 DTO
/// </summary>
//忽略掉Igrone属性
public partial record PersonDto;
[*]复杂 DTO(多层嵌套)
/// <summary>
/// 模拟的复杂 DTO
/// </summary>

//≥2即表示多层嵌套生成
public partial record PersonComplexDto;生成的代码样例:

生成DTO,并对象生成映射扩展:MapperToXXX,以及IQuerylable扩展ProjectToXXX:
并且生成了预留partial扩展,如果存在FirstName + LastName -> FullName这种情况,你可以自己实现partial部分!
//
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

#pragma warning disable

//generate Person-PersonComplexDto
namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    public partial record class PersonComplexDto
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Name"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Name { get; set; }

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Age"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public int Age { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Address"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public AddressDto Address { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Hobbies"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public System.Collections.Generic.List<HobbyDto> Hobbies { get; set; }
    }
}

namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.Linq;

    public static partial class PersonToPersonComplexDtoExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(Person from, PersonComplexDto to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to PersonComplexDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static PersonComplexDto MapperToPersonComplexDto(this Person model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new PersonComplexDto()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Name = model.Name,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Age = model.Age,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Address = model.Address?.MapperToAddressDto(),
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Hobbies = model.Hobbies != null ? model.Hobbies.Select(x => x?.MapperToHobbyDto()).ToList() : null,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// ProjectTo PersonComplexDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static IQueryable<PersonComplexDto> ProjectToPersonComplexDto(this IQueryable<Person> query)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return query.Select(model => model.MapperToPersonComplexDto());
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }

    public static partial class PersonComplexDtoToPersonExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(PersonComplexDto from, Person to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to Person
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static Person MapperToPerson(this PersonComplexDto model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new Person()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Name = model.Name,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Age = model.Age,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Address = model.Address?.MapperToAddress(),
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Hobbies = model.Hobbies != null ? model.Hobbies.Select(x => x?.MapperToHobby()).ToList() : null,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }
}

//generate Person-PersonDto
namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    public partial record class PersonDto
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Name"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Name { get; set; }

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Age"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public int Age { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Address"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public Biwen.AutoClassGen.TestConsole.Dtos.Address Address { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Person.Hobbies"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public System.Collections.Generic.List<Biwen.AutoClassGen.TestConsole.Dtos.Hobby> Hobbies { get; set; }
    }
}

namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.Linq;

    public static partial class PersonToPersonDtoExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(Person from, PersonDto to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to PersonDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static PersonDto MapperToPersonDto(this Person model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new PersonDto()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Name = model.Name,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Age = model.Age,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Address = model.Address,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Hobbies = model.Hobbies,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// ProjectTo PersonDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static IQueryable<PersonDto> ProjectToPersonDto(this IQueryable<Person> query)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return query.Select(model => model.MapperToPersonDto());
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }

    public static partial class PersonDtoToPersonExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(PersonDto from, Person to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to Person
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static Person MapperToPerson(this PersonDto model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new Person()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Name = model.Name,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Age = model.Age,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Address = model.Address,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Hobbies = model.Hobbies,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }
}

//generate Address-AddressDto
namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    public partial class AddressDto
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Address.Street"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Street { get; set; }

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Address.City"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string City { get; set; }

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Address.State"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string State { get; set; }

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Address.ZipCode"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string ZipCode { get; set; }
    }
}

namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.Linq;
    using System.Net;

    public static partial class AddressToAddressDtoExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(Address from, AddressDto to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to AddressDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static AddressDto MapperToAddressDto(this Address model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new AddressDto()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Street = model.Street,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    City = model.City,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    State = model.State,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    ZipCode = model.ZipCode,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// ProjectTo AddressDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static IQueryable ProjectToAddressDto(this IQueryable query)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return query.Select(model => model.MapperToAddressDto());
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }

    public static partial class AddressDtoToAddressExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(AddressDto from, Address to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to Address
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static Address MapperToAddress(this AddressDto model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new Address()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Street = model.Street,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    City = model.City,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    State = model.State,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    ZipCode = model.ZipCode,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }
}

//generate Hobby-HobbyDto
namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    public partial class HobbyDto
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Hobby.Name"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Name { get; set; }

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Hobby.Description"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Description { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "Hobby.Extend"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public HobbyExtendDto Extend { get; set; }
    }
}

namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.Linq;

    public static partial class HobbyToHobbyDtoExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(Hobby from, HobbyDto to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to HobbyDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static HobbyDto MapperToHobbyDto(this Hobby model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new HobbyDto()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Name = model.Name,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Description = model.Description,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend = model.Extend?.MapperToHobbyExtendDto(),
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// ProjectTo HobbyDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static IQueryable<HobbyDto> ProjectToHobbyDto(this IQueryable<Hobby> query)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return query.Select(model => model.MapperToHobbyDto());
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }

    public static partial class HobbyDtoToHobbyExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(HobbyDto from, Hobby to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to Hobby
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static Hobby MapperToHobby(this HobbyDto model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new Hobby()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Name = model.Name,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Description = model.Description,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend = model.Extend?.MapperToHobbyExtend(),
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }
}

//generate HobbyExtend-HobbyExtendDto
namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    public partial class HobbyExtendDto
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "HobbyExtend.Extend1"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Extend1 { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "HobbyExtend.Extend2"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string Extend2 { get; set; }
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "HobbyExtend.Extend3"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public InnerExtendDto Extend3 { get; set; }
    }
}

namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.Linq;

    public static partial class HobbyExtendToHobbyExtendDtoExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(HobbyExtend from, HobbyExtendDto to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to HobbyExtendDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static HobbyExtendDto MapperToHobbyExtendDto(this HobbyExtend model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new HobbyExtendDto()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend1 = model.Extend1,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend2 = model.Extend2,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend3 = model.Extend3?.MapperToInnerExtendDto(),
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// ProjectTo HobbyExtendDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static IQueryable<HobbyExtendDto> ProjectToHobbyExtendDto(this IQueryable<HobbyExtend> query)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return query.Select(model => model.MapperToHobbyExtendDto());
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }

    public static partial class HobbyExtendDtoToHobbyExtendExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(HobbyExtendDto from, HobbyExtend to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to HobbyExtend
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static HobbyExtend MapperToHobbyExtend(this HobbyExtendDto model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new HobbyExtend()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend1 = model.Extend1,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend2 = model.Extend2,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    Extend3 = model.Extend3?.MapperToInnerExtend(),
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }
}

//generate InnerExtend-InnerExtendDto
namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    public partial class InnerExtendDto
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <inheritdoc cref = "InnerExtend.InnerExtendMsg"/>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public string InnerExtendMsg { get; set; }
    }
}

namespace Biwen.AutoClassGen.TestConsole.Dtos
{
    using Biwen.AutoClassGen.TestConsole.Dtos;
    using System.Linq;

    public static partial class InnerExtendToInnerExtendDtoExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(InnerExtend from, InnerExtendDto to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to InnerExtendDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static InnerExtendDto MapperToInnerExtendDto(this InnerExtend model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new InnerExtendDto()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    InnerExtendMsg = model.InnerExtendMsg,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}

<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// ProjectTo InnerExtendDto
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static IQueryable<InnerExtendDto> ProjectToInnerExtendDto(this IQueryable<InnerExtend> query)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return query.Select(model => model.MapperToInnerExtendDto());
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }

    public static partial class InnerExtendDtoToInnerExtendExtentions
    {
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// custom mapper
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>static partial void MapperToPartial(InnerExtendDto from, InnerExtend to);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// mapper to InnerExtend
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// </summary>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>/// <returns></returns>
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>public static InnerExtend MapperToInnerExtend(this InnerExtendDto model)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>if (model == null)
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    return null;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>var retn = new InnerExtend()
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>{
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>    InnerExtendMsg = model.InnerExtendMsg,
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>};
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>MapperToPartial(model, retn);
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup><ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>return retn;
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>}
    }
}
#pragma warning restore最后

以上代码完整的介绍了最近实现的功能,最后你可以使用我最新发布的nuget包体验:
<ItemGroup>
   <PackageReference Include="Biwen.AutoClassGen.Attributes" Version="1.7.0" />
   <PackageReference Include="Biwen.AutoClassGen" Version="1.7.0" PrivateAssets="all" />
</ItemGroup>如果你对完整的实现感兴趣可以移步我的GitHub仓储,欢迎star https://github.com/vipwan/Biwen.AutoClassGen
本文版权归作者所有,转载请注明出处!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 经过几天的努力Biwen.AutoClassGen终于实现了DTO复杂属性的生成