【发布时间】:2015-01-18 05:01:40
【问题描述】:
我有数十种不同的观点,其中一些来自数据库的数据必须在显示给用户之前进行操作。
例如:
var students = _repository.Students.Select(c => { c.StartDate = FixDateToCurrentYear(c.StartDate ); c.EndDate = FixDateToCurrentYear(c.EndDate); return c; }).ToList();
所以基本上我现在有一个变量,其中 Students StartDate 和 EndDate 已被某些逻辑修复,目前不相关。
这里的问题是,每当某个地方调用 SaveChanges() 函数时,学生的更改日期也会保存到数据库中。
我只想将更改的日期用于特定视图中的逻辑。我该怎么办?
我听说过.AsNoTracking();,但这必须直接放到DbSet项中,但我想在控制器端处理它,可以吗?
【问题讨论】:
-
我听说过 .AsNoTracking();但这必须直接放在 DbSet 项中 你的意思是它是
DbSet上的扩展方法吗?因为它似乎不是(免责声明:EF 5)msdn.microsoft.com/en-us/library/gg679169(v=vs.103).aspx -
你是说 AsNoTracking 也应该在 IQueryable 上吗?由于某种原因,它没有显示给我。但是这个是为我的 DbSet 显示的 msdn.microsoft.com/en-us/library/gg696268(v=vs.113).aspx
标签: c# .net entity-framework entity-framework-6 iqueryable