我正在尝试模拟在存储库中保存实体的行为(使用通用 T 参数)。对于 Save() 方法,我需要存储给定实体的新实例而不是实际实例。
我考虑过使用 AutoMapper 来实现此目的:
public void Save(T entity)
{
var newEntity = Mapper.Map<T, T>(entity);
this.AddOrUpdate(newEntity);
}
问题是 newEntity 实际上与实体是同一个实例,并且我对实体的属性所做的任何更改都会影响存储的 newEntity。
感谢您的帮助。
最佳答案
我认为应该是这样的:
public void Save(T entity)
{
Mapper.CreateMap<T, T>();
var newEntity = Mapper.Map<T, T>(entity);
}
关于c# - 使用 AutoMapper 创建通用对象的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29557274/