我知道这是一个广泛涉及的问题。因为这个原因,我甚至推迟写这个问题,但我似乎无法看到我做错了什么。
以下函数在最后一行抛出以下异常。 " IEntityChangeTracker"
的多个实例不能引用实体对象private void addAutoGeneratedStoreCredit(ApplicationDbContext contx, Payment payment)
{
var autoStoreCredit = new StoreCredit();
autoStoreCredit.DateTimeLocal = DateTime.Now;
autoStoreCredit.DateTimeUTC = DateTime.UtcNow;
autoStoreCredit.UsedAsPayment = false;
autoStoreCredit.TypeOfStoreCredit = TypeOfStoreCredit.SystemGenerated;
autoStoreCredit.CustomerID = payment.Transaction.Customer.ID;
autoStoreCredit.DepartmentID = payment.Transaction.Department.ID;
autoStoreCredit.EmployeeID = App.CurrentUser.ID;
autoStoreCredit.Message = string.Format("Auto generated from {0} ID: {1}", payment.StoreCredit.Type, payment.StoreCredit.ID);
autoStoreCredit.Value = payment.StoreCredit.Change;
contx.StoreCredits.Add(autoStoreCredit);
}
即使付款参数来自不同的上下文(它不是),我只设置ID而不是相应的对象。
我有一个在函数之间传递的上下文。