当存储库返回DTO对象时,我使用带有服务的体系结构->存储库。
在普通代码存储库中,添加如下所示:
_context.Set<ModelType>().Add(model);
return model;
在服务中,我可以调用SaveChanges和由新ID填充的模型。
但就我而言,我必须做很多动作。
var model = Mapper.Map<ModelType>(dtoModel);
_context.Set<ModelType>().Add(model);
_context.SaveChanges();
return model.MapTo<DtoModelType>();
但这很糟糕,因为存储库中不应包含SaveChanges。
我们做了一些改进,所以我们在save方法中添加了saveChanges参数:
Add(Model model, bool saveChanges)
但是我们在存储库中仍然有SaveChanges