1. NuGet安裝步驟
- 建立控制台專案(其他專案類型也可使用,控制台僅作示範)
- 在NuGet套件管理器搜尋AutoMapper(作者Jimmy Bogard)
- 點擊安裝;要符合專案.NET框架版本選擇對應套件版本,版本不匹配會安裝失敗

NuGet套件管理器主控台指令
Install-Package AutoMapper
2. 建立實體類
class Person
{
public int Age { set; get; }
public string Name { set; get; }
public decimal Salary { set; get; }
public bool Sex { set; get; }
public DateTime Birthday { set; get; }
}
class People
{
public int Age { set; get; }
public string Name { set; get; }
public decimal Salary { set; get; }
public bool Sex { set; get; }
public DateTime Birthday { set; get; }
}Code language: JavaScript (javascript)
3. 範例
class Program
{
static void Main(string[] args)
{
// ① 初始化映射設定:建立 Person → People 的映射關係
Mapper.Initialize(m => m.CreateMap<Person, People>());
// ② 實例化來源物件Person
Person p = new Person()
{
Age = 12,
Name = "Tom",
Birthday = DateTime.Now,
Sex = true,
Salary = 10000
};
// 目標物件不能為null,需要先實例化
People peo = new People();
// ③ 執行映射,將來源物件p的值複製到peo
Mapper.Map(p, peo);
// ④ 讀取映射後的結果
Console.WriteLine(peo.Name);
Console.ReadKey();
}
}Code language: JavaScript (javascript)
關鍵要點
Mapper.Initialize:全域進行映射規則註冊,程式啟動執行一次即可,不要反覆寫在迴圈裡面。CreateMap<來源類型,目標類型>():宣告兩個類別之間的映射。Mapper.Map(來源物件, 目標物件):目標物件必須已經實例化,不能傳null,否則會報錯。- 約定規則:屬性名稱、類型一致,就會自動複製,不需要額外設定。
版本提醒:AutoMapper 10+不再建議使用靜態
Mapper.Initialize / Mapper.Map,改用DI注入IMapper;上面的程式碼只適合舊版本學習。
與手動賦值比較
- 手動:
peo.Name = p.Name; peo.Age = p.Age; ……,欄位越多,样板程式碼越多。 - AutoMapper:只需要宣告映射關係,自動複製全部同名屬性。
安裝與第一個範例
Previous: 什麼是 AutoMapper
Next: 設定 Profile