Когда я запрашиваю из структуры сущностей, я всегда запрашиваю в отдельном состоянии, чтобы полученные записи могли быть сохранены в кеше для последующих запросов.
Сейчас у меня есть форма, которую пользователь может редактировать, которая содержит родительскую запись, а затем два списка родительских записей.
Когда данные отправляются на сервер, я беру свои модели представлений и сопоставляю их с объектами инфраструктуры сущностей с помощью AutoMapper. Данные выглядят хорошо; AutoMapper отображает данные правильно.
Когда я прикрепляю объект, чтобы я мог его обновить, выдается исключение: A referential integrity constraint violation occurred: The property values that define the referential constraints are not consistent between principal and dependent objects in the relationship
.
public static void UpdateOrder(ShippingOrder shippingOrder) {
using (OrderEntity orderContext = new OrderEntity()) {
//Exception happens here
orderContext.ShippingOrders.Attach(shippingOrder);
//Update the order itself; mark the order has being modified so the EF will update it.
orderContext.ObjectStateManager.ChangeObjectState(shippingOrder, System.Data.EntityState.Modified);
//Perform the update.
orderContext.SaveChanges();
}
}
EntityFramework (EF), похоже, считает, что мои ключи не совпадают, но я не уверен, что не правильно. Свойство внешнего ключа имеет правильное значение, поэтому я не уверен, что он проверяет. У кого-нибудь есть идеи?