防止EF6验证相关实体

时间:2016-05-06 15:29:12

标签: entity-framework-6

我的城市控制器中有类似的代码:

        if (!ModelState.IsValid)
            return BadRequest(ModelState);

        var city = DbContext.Cities.SingleOrDefault(o => o.CityId == cityId);
        DbContext.Entry(city).State = EntityState.Modified;
        city.name = "test";

        DbContext.SaveChanges();

城市有一个外国的关键。当它遇到SaveChanges时,它会出错,因为虚拟State实体上的属性都是null。如何让它不验证州实体?我特别没有在SingleOrDefault中包含州实体,因为它不相关。我想我可以加载它,但是当我只想编辑城市名称时,我必须加载所有相关的实体。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

原来这是编辑继承错误。

我在我的城市模型中有这个:

public virtual State State { get; set; } = new State();

删除= new State()就可以了。