当我只想更新主模型时,Saving Model是级联更新

时间:2013-04-06 03:06:27

标签: c# entity-framework-4 asp.net-web-api repository-pattern automapper-2

我正在使用C#Web API,我使用存储库标准来保存到数据库。下面是我用来更新数据库的缩写示例。所以我使用automapper在用户之间展平以获取用户区域。因此,当我尝试使用UpdateUser模型更新例如用户名时。我使用automapper从updateuser映射到用户。当我尝试保存它时总是给我更新Region的错误。我相信我需要User模型中的区域,因为我需要它在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 个答案:

答案 0 :(得分:1)

从做更多的研究。我发现下面的automap会忽略自动化中的区域,因此用户可以从数据库中拉出区域。这是推荐的方式吗?以下是我用于自动化的内容:

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