0

我正在使用C#Web API,并使用存储库标准保存到数据库。下面是我用来更新数据库的简短示例。所以我使用automapper在用户和getuser之间展平区域。所以当我尝试使用UpdateUser模型更新例如用户名时。我使用automapper从updateuser映射到用户。当我尝试保存它时,总会给我更新区域时的错误。我相信我需要用户模型中的区域,因为我需要它在User和getUser之间自动映射并获取区域。保存模型是级联更新,当我只想要更新主模型

我不想更新区域。我不理解如何从这里前进。让我知道,如果我正在做这个好,以及解决方案是什么。

public class User 
{ 
    public int UserID { get; set; } 
    public String username { get; set; } 
    public virtual Region Region { get; set; } 
} 

public class GetUser 
{ 
    public int UserID { get; set; } 
    public String username { get; set; } 
    Public String Region{get; set;} 
} 

public class UpdateUser 
{ 
    public int UserID { get; set; } 
    public String username { get; set; } 
    Public String RegionID{get; set;} 
} 

回答

1

从做一些更多的研究。我发现下面的automap会忽略automap中的区域,所以用户从数据库中取出区域。这是推荐的方式吗?以下是我用于自动映射的内容:

Mapper.CreateMap<UpdateUser, User>().ForMember(x => x.Region, opt => opt.Ignore());