У меня есть две сущности, и их отношения много ко многим.Код выглядит следующим образом:
public class Post : Entity
{
//public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public DateTime CreateTime { get; set; }
public DateTime LastModify { get; set; }
public ICollection<PostTag> PostTags { get; set; }
public int AuthorId { get; set; }
public Author Author { get; set; }
}
public class Tag :Entity
{
//public int Id { get; set; }
public string TagName { get; set; }
public ICollection<PostTag> PostTags { get; set; }
}
public class PostTag :Entity
{
//public int Id { get; set; }
public int PostId { get; set; }
public Post Post { get; set; }
public int TagId { get; set; }
public Tag Tag { get; set; }
}
public class PostViewModel
{
public string Title { get; set; }
public string Body { get; set; }
public DateTime CreateTime { get; set; }
public DateTime LastModify { get; set; }
public int AuthorId { get; set; }
public string AuthorName { get; set; }
public List<TagViewModel> Tags { get; set; }
}
Теперь я создал конфигурацию отображения от сущности к модели представления:
CreateMap<Post, PostViewModel>()
.ForMember(dest => dest.AuthorId, opt => opt.MapFrom(src => src.Author.Id))
.ForMember(dest => dest.Tags, opt => opt.MapFrom(src => src.PostTags))
.ForMember(dest => dest.AuthorName, opt => opt.MapFrom(src => src.Author.User.LastName))
.ForMember(dest => dest.Body, opt => opt.MapFrom(src => src.Body))
.ForMember(dest => dest.Title, opt => opt.MapFrom(src => src.Title))
.ForMember(dest => dest.CreateTime, opt => opt.MapFrom(src => src.CreateTime))
.ForMember(dest => dest.LastModify, opt => opt.MapFrom(src => src.LastModify))
.ForMember(dest => dest.Tags, opt => opt.MapFrom(src => src.PostTags.Select(y => y.Tag).ToList()));
Мой вопрос такой, когда я получаю PostViewModel, например:
public async Task<IActionResult> Post([FromBody] PostViewModel postViewModel)
{
}
как мне сопоставить PostViewModel с Post?И я хочу создать Entity из PostViewModel и добавить их, которые представляют собой связь post, tag (если не существует) и postTag, в DbContext, что мне делать?
Я довольно новичок в autopper, и этоэто мой первый вопрос, я надеюсь, что я поступаю правильно, и я очень ценю ваш ответ и подсказку о том, как спросить.