修改实体而不跟踪它

时间:2017-07-26 17:03:16

标签: asp.net-mvc entity-framework

我在服务类中有一个名为GetAll()的方法,它从实体框架返回实体。方法如下:

public ActionResult List()
        {
         var tasklogs = _timeLogService.GetAll()
            .Select(l=>{
                l.StartTime.Value.AddHours(1);
                return l;
            });

        return PartialView(tasklogs);

        }

我想在按照某些逻辑修改的视图中显示数据,在本例中,我将原始日期添加一小时。

问题是,如果我刷新页面,我看到每个页面刷新的小时数增加,即GetAll()方法返回最后修改的值,尽管它在数据库中不一样,即我不保存日期修改在数据库中但GetAll返回修改日期。

我读到某个地方,为了这个工作,我需要分离实体。

所以,我的问题是,是否有更好的方法在服务层执行此操作,因为我必须在很多地方执行此操作。修改日期的根本原因是我在db中以UTC格式保存日期,但是当我在视图中显示它时,我将其转换为控制器操作中的本地时区。

我希望我说清楚。

由于

1 个答案:

答案 0 :(得分:0)

正如我在评论中所写,在根据请求更改DbContext实例创建后,问题得以解决。