Я получаю ошибку ниже при обновлении двух таблиц с использованием структуры сущности -
Объект с таким же ключом уже существует в objectstatemanager. Существующий объект находится в измененном состоянии. Объект может быть снова добавлен в objectstatemanager, только если он находится в добавленном состоянии
Мой код
public void UpdatePaymentTransaction(PaymentTransaction paymentTransaction)
{
using (var context = DataObjectFactory.CreateContext())
{
var entity = context.PaymentTransactionEntities.Where(c => c.Id == paymentTransaction.Id).SingleOrDefault();
entity.PartyId = paymentTransaction.PartyId;
entity.TotalAmount = paymentTransaction.TotalAmount;
entity.RequestDate = paymentTransaction.RequestDate;
entity.ResponseDate = paymentTransaction.ResponseDate;
context.PaymentTransactionEntities.ApplyCurrentValues(entity);
context.SaveChanges();
if (paymentTransaction.PaymentGatewayOrderId != null)
{
PaymentTransactionContractEntity paymentTransactionContractEntity = new PaymentTransactionContractEntity();
string[] contractIds = paymentTransaction.PaymentGatewayOrderId.Split('-');
foreach (var contractId in contractIds)
{
paymentTransactionContractEntity.PaymentTransactionId = entity.Id;
paymentTransactionContractEntity.ContractId = Convert.ToInt32(contractId);
context.PaymentTransactionContractEntities.AddObject(paymentTransactionContractEntity);
context.SaveChanges();
}
}
}
}