首页 > 解决方案 > EF 6.0 如何取消删除和修改属性?

问题描述

我有一个表Table1State其中包含1表示正常数据和10已删除数据的列,我想取消删除操作并将此列更新为10当我在 EF Database First 中删除它时:

public override int SaveChanges()
{
    foreach (var entry in ChangeTracker.Entries())
    {
        switch (entry.State)
        {
            case EntityState.Deleted:
                entry.State = EntityState.Modified;
                entry.CurrentValues["State"] = 10;
                break;
            default: break;
        }
    }
    return base.SaveChanges();
}

并像这样删除:

var data = dbContext.Table1.Find(primaryKey);
dbContext.Table1.Remove(data);
dbContext.SaveChanges();

base.SaveChanges()我检查State值之前entry.Entity,它已从更改110,但之后SaveChangesState数据库中的值没有更改(仍然1)。

我怎样才能使这项工作?

标签: entity-framework-6

解决方案


推荐阅读