Dapper是一个对象 - 关系 - 映射器,而AutoMapper是一个对象 - 对象映射器。不同之处在于,第一个将C#代码转换为SQL并将返回的数据集映射到对象,而AutoMapper仅将一个.NET对象类型映射到另一个。 Dapper允许您使用单一查询语言(C#)来查询不同的SQL数据库和方言。这样,如果您想在MySQL和SQL Server之间切换,它会使您的代码更具可移植性。您可以将Dapper视为IDbConnection之上的一组扩展方法,它允许您针对基础数据存储区而不是本机SQL编写C#LINQ查询。
它并不一定意味着AutoMapper应始终将数据库对象映射到域对象。例如,您可以使用AutoMapper在非常不同的对象类型之间进行转换。