1

使用 EF Core 3 和 Mapster 我想从平面 dto 对象映射到具有相关子对象的对象。IE

_ = 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 记录,然后才能保存 Note 记录。

这可以在配置部分完成,还是需要在映射之后但在 Note 对象保存到数据库之前完成?

4

1 回答 1

0
_ = 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 而不是对象引用,则可以执行上述操作。

于 2020-06-04T18:22:37.053 回答