使用 EF Core 3 和 Mapster,我想从一个平面 dto 对象映射到具有相关子对象的对象。 即
_ = TypeAdapterConfig<NoteVM, Note>.NewConfig()
.Map(d => d.Detail, s => s.Description)
.Map(d => d.Id, s => s.NoteId)
.Map(d => d.NoteTypeObject, s => s.NoteTypeString)
.IgnoreNullValues(true);
其中,NoteTypeObject 是表上的现有记录。
因此,在映射中,必须在保存注释记录之前从数据库中检索 NoteType 对象并将其附加到注释记录。
这可以在配置部分完成,还是需要在映射之后但在将 Note 对象保存到数据库之前完成?
_ = TypeAdapterConfig<NoteVM, Note>.NewConfig()
.Map(d => d.Detail, s => s.Description)
.Map(d => d.Id, s => s.NoteId)
//get existing Id
.Map(d => d.NoteTypeObjectId, s => GetNoteTypeId(s.NoteTypeString))//lookup
.IgnoreNullValues(true);
如果您能够添加引用 ID 而不是对象引用,则可以执行类似上述操作的操作。