У меня есть следующий метод, который пытается обновить один столбец (не весь график объекта!) В таблице базы данных (стоимость доставки):Entity Framework 6 - Не удалось обновить один столбец в таблице
public void UpdateShippingCost(Entities.ShoppingCart shoppingCart)
{
// Map from domain entity to database object
var shoppingCartRecord = Mapper.Map<ShoppingCart>(shoppingCart);
shoppingCartRecord.ShippingCost = 99.99M;
dbContext.ShoppingCart.Add(shoppingCartRecord);
var entry = dbContext.Entry(shoppingCartRecord);
entry.Property(e => e.ShippingCost).IsModified = true;
dbContext.SaveChanges();
}
Когда entry.Property(e => e.ShippingCost).IsModified = true;
линия выполнена, я получаю следующее сообщение об ошибке:
Additional information: SetModifiedProperty cannot be called because the object is not in a modified or unchanged state.
Как это может быть? Я, конечно, изменил объект.
Вы вызываете 'Add()' непосредственно перед тем, как вы запрашиваете запись объекта. Я предполагаю, что объект действительно находится в состоянии «Добавлено». Какой смысл отмечать одно из свойств как «Модифицировано», когда весь объект будет сохранен как «Добавлен»? – haim770