存储更新,插入或删除语句在context.refresh()之后影响了意外的行数(0)

时间:2016-03-30 18:13:26

标签: c# entity-framework

我正在尝试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();
    }
}

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

以前我的表没有任何具有自动增量值的列。我添加了自动增量的新列,现在我可以插入记录了。

旧表结构:

enter image description here

新表结构:

enter image description here

相关问题