C# 当我只想更新主模型时,保存模型是级联更新

C# 当我只想更新主模型时,保存模型是级联更新,c#,entity-framework-4,asp.net-web-api,repository-pattern,automapper-2,C#,Entity Framework 4,Asp.net Web Api,Repository Pattern,Automapper 2,我使用的是C#WebAPI,我使用的是存储库标准来保存到数据库中。下面是我用来更新数据库的一个简短示例。因此,我使用automapper在用户之间展开,以获取用户区域。因此,当我尝试使用UpdateUser模型更新用户名时。我使用automapper从updateuser映射到用户。当我试图保存时,它总是给我更新区域的错误。我相信我需要用户模型中的区域,因为我需要它在用户到getUser和获取区域之间自动映射 我不想更新区域。我不明白如何从这一点向前迈进。让我知道我是否要做这个,好的,解决方案是

我使用的是C#WebAPI,我使用的是存储库标准来保存到数据库中。下面是我用来更新数据库的一个简短示例。因此,我使用automapper在用户之间展开,以获取用户区域。因此,当我尝试使用UpdateUser模型更新用户名时。我使用automapper从updateuser映射到用户。当我试图保存时,它总是给我更新区域的错误。我相信我需要用户模型中的区域,因为我需要它在用户到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;}
}

做更多的研究。我发现下面的自动映射会忽略自动映射中的区域,因此用户可以从数据库中提取该区域。这是推荐的方式吗?以下是我在automap中使用的内容:

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