I am trying to insert
by using EF and pasing all parameters but still for some reason I am getting Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
error.
I looked into Solution for: Store update, insert, or delete statement affected an unexpected number of rows (0) and dbcontext does not contain a definition for 'Refresh' but still I am getting the error.
I tried following approaches:
foreach (var mainItemDeliveryTag in mainItemDeliveryTagList)
{
try
{ //Option-1
var mainItemTag = DataContext.Set<MainItemDeliveryTag>();
mainItemTag.Add(new MainItemDeliveryTag { MainItemID = mainItemId, DeliveryProviderTagID = mainItemDeliveryTag.DeliveryProviderTagID, IsDeliveryTagSelected = mainItemDeliveryTag.IsDeliveryTagSelected });
//Option-2
var mainItemDeliveryTagObj = new MainItemDeliveryTag()
{
MainItemID = mainItemId,
DeliveryProviderTagID = mainItemDeliveryTag.DeliveryProviderTagID,
IsDeliveryTagSelected = mainItemDeliveryTag.IsDeliveryTagSelected,
};
DataContext.MainItemDeliveryTag.Add(mainItemDeliveryTagObj);
//Option-3
DataContext.Entry(mainItemDeliveryTag).State = System.Data.Entity.EntityState.Added;
DataContext.SaveChanges();
}
catch (OptimisticConcurrencyException)
{
var ctx = ((IObjectContextAdapter)DataContext).ObjectContext;
ctx.Refresh(RefreshMode.ClientWins, mainItemDeliveryTag);
DataContext.SaveChanges();
}
}
What am I missing here?