IEntityChangeTracker的多个实例
无法引用实体对象
我正在尝试做这样的事情:
Transaction transaction = new Transaction();
transaction.Amount = response.Amount;
...
_transactionService.Add(transaction);
_transactionService.Save();
OrderPayment orderPayment = new OrderPayment();
orderPayment.AuthorizationTransaction = transaction;
...
_orderPaymentService.AddOrderPayment(orderPayment);
_orderPaymentService.Save();
我有3层
上面的代码属于web层的控制器,我的回购是:
OrderPaymentRepo
public void AddOrderPayment(OrderPayment orderPayment)
{
_pharmacyDpnCtx.OrderPayments.AddObject(orderPayment);
}
public int Save()
{
return _pharmacyDpnCtx.SaveChanges();
}
和 TransactionRepo :
public void Add(Transaction transaction)
{
_pharmacyDpnCtx.Transactions.AddObject(transaction);
}
public int Save()
{
return _pharmacyDpnCtx.SaveChanges();
}
我正在网上进行研究,但很多解决方案都使用 UnityOfWork 来使用相同的 ObjectContext ,这是最好的解决方案,但现在我能负担得起,任何没有 UnityOfWork
的建议答案 0 :(得分:0)
首先,看一下这个链接 - 8 Entity Framework Gotchas,在第5章和第6章,有关于你的问题的完整解释。
其次,您可以轻松地在Save and Add方法中使用相同的“Context”对象。