using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Domain.Entities;
using System.Collections.Generic;
public static void Main()
var serviceProvider = new ServiceCollection()
.AddAutoMapper(typeof(DbEntityToDomainModelProfile))
var mapper = serviceProvider.GetService<IMapper>();
var dbEntities = new List<SnapshotEntity>
new SnapshotEntity { Id = Guid.NewGuid(), Version = 1 },
new SnapshotEntity { Id = Guid.NewGuid(), Version = 2 }
var domainModels = mapper.Map<List<Snapshot>>(dbEntities);
Console.WriteLine(domainModels.GetType());
foreach (var dd in domainModels)
public class Snapshot : AggregateRoot<Guid>
public int Version { get; private set; }
public Snapshot(Guid id) : base(id) {}
public override string ToString()
return System.Text.Json.JsonSerializer.Serialize(this);
public class SnapshotEntity
public Guid Id { get; set; }
public int Version { get; set; }
public class DbEntityToDomainModelProfile : Profile
public DbEntityToDomainModelProfile()
CreateMap<SnapshotEntity, Snapshot>();