EntityFramework在SaveChanges()之后获得更改/修改的属性

时间:2015-07-07 14:26:50

标签: c# asp.net entity-framework asp.net-web-api2

我有一个非常简单的web api方法,如下所示:

    public void Put(Vehicle vehicle)
    {
        db.Entry(vehicle).State = EntityState.Modified;
        db.SaveChanges();
    }

它只是更新车辆实体的直接属性。这很好用。但我现在想知道哪些属性实际发生了变化?有没有办法做到这一点?

我可能首先从数据库中获取车辆,然后将其与修改后的车辆进行比较。但也许有一种更简单的方法。

由于

2 个答案:

答案 0 :(得分:1)

看看这个

DbContext.Entry(vehicle).OriginalValues

并将这些值与您的输入车辆进行比较

答案 1 :(得分:0)

db.Entry(vehicle).GetDatabaseValues()

我发现了这个,似乎有效。现在我只需要比较它们