1

我正在使用带有 DbContext 的实体框架 5。

在我的场景中,我正在尝试更新现有实体并将更改持久保存到数据库中。在其他属性中,实体有一个“LastUpdated”属性,它是一个 DateTime。

我的实体是 POCO 实体,我的上下文继承自 DbContext。

这是我的代码:

public void Update(Location location)
{
    using (var context = new EfContext())
    {
        context.Locations.Attach(location);
        context.Entry(location).State = EntityState.Modified;
        context.SaveChanges();
    }
}

我的应用程序的要求要求我将修改后的实体附加到新上下文,而不是先从同一上下文中检索实体。

这实际上适用于实体上的所有字段,除了 LastUpdated 字段。这是一个日期时间,不保存。

我在这里做错了什么吗?

4

1 回答 1

0

尝试在 Update 方法中将位置 LastUpdated 属性值作为参数传递

public void Update(Location location, DateTime locationLastUpdated)
{
    using (var context = new EfContext())
    {
        location.LastUpdated = locationLastUpdated;
        context.Locations.Attach(location);
        context.Entry(location).State = EntityState.Modified;
        context.SaveChanges();
    }
}
于 2013-01-28T23:23:18.403 回答