Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName - Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)
Conceito
Por padrão, o AutoMapper não apenas mapeia propriedades com o mesmo nome, mas também segue regras de achatamento (Flattening):
Se o objeto de origem (Person) não tiver uma propriedade correspondente no destino (People), o AutoMapper fará automaticamente o seguinte:
- Dividir propriedades de objetos aninhados:
Cn.Name→ propriedade destinoCnName- Corresponder métodos sem parâmetros que começam com
Get:GetTotal()→ propriedade destinoTotal
Código completo
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Inicializar a configuração do AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objeto de origem Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Executar o mapeamento
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Saída: Jack Chan [Achatamento: Cn.Name → CnName]
Console.WriteLine(peo.Total); // Saída: 100 [Achatamento: GetTotal() → Total]
Console.ReadKey();
}
}
// Classe de origem
class Person
{
public int Age { get; set; }
// Objeto aninhado
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Método sem parâmetros começando com Get, mapeado automaticamente para a propriedade Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe de destino
class People
{
public int Age { get; set; }
// Resultado do achatamento: concatena o objeto aninhado Cn e Name em CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Resultado do achatamento: corresponde ao método GetTotal() da origem
public decimal Total { get; set; }
}
}
Resumo
- Concatenação automática de propriedades de objetos aninhados
Origem:Person.Cn.Name
Propriedade destino:CnName
O AutoMapper concatena automaticamente o objeto aninhadoCneName, atribuindo o resultado aCnName. Não é necessário configurarForMembermanualmente. - Correspondência de métodos sem parâmetros que começam com Get
Método de origem:public decimal GetTotal()
Propriedade destino:public decimal Total
O prefixoGeté removido e o valor de retorno do método é atribuído automaticamente aTotal.
Nota: O método deve ser sem parâmetros para que esta regra de achatamento seja acionada.
Saída
Jack Chan
100
Mapeamento por achatamento (Flattening)