我正在尝试insert
使用EF并设置所有参数,但由于某些原因我仍然遇到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.
错误。
我查看了Solution for: Store update, insert, or delete statement affected an unexpected number of rows (0)和dbcontext does not contain a definition for 'Refresh',但我仍然收到错误。
我尝试了以下方法:
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();
}
}
我在这里缺少什么?