从对象更改父实体

时间:2016-12-14 17:54:10

标签: c# asp.net-mvc entity-framework

我尝试使用车辆模型父实体更改车辆实体,执行以下操作:

var vehicleModel = db.VehicleModels.FirstOrDefault(x => x.ID == modelId);
vehicle.VehicleModel = vehicleModel;
db.Entry(vehicle).State = EntityState.Modified;
db.SaveChanges();

车辆正由控制器上的数据绑定填充。

它没有显示任何错误,但是车辆实体没有更新其父实体。

更改父母的正确方法是什么?

编辑1

如果我做了以下更改:

var vehicleToModify = db.Vehicles.FirstOrDefault(x => x.ID == vehicle.ID);
vehicleToModify.VehicleModel = db.VehicleModels.FirstOrDefault(x => x.ID == modelId);
db.Entry(vehicleToModify).State = EntityState.Modified;
db.SaveChanges();

它更新了Parent,但它非常混乱。

有没有一种干净的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

我设法通过以下方式使其发挥作用:

 var vehicleToModify = db.Vehicles.FirstOrDefault(x => x.ID == vehicle.ID);
 vehicleToModify.VehicleModel = db.VehicleModels.FirstOrDefault(x => x.ID == modelId);
 db.SaveChanges();

感谢@Andrei Filimon的见解。