从Web API控制器中删除上下文感知

时间:2015-07-02 11:16:43

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

假设我有

public IQueryable<Application> GetApplications() {
    var applications = _context.Applications.Where(v => v.Exported == false);
    // Now i want to flag exported = true because i am exporting them
    foreach (var application in applications){
        _context.Applications.SingleOrDefault(v => v.ApplicationId == application .ApplicationId).Exported = true;
}
    _context.SaveChanges();
    return applications;
}

我没有得到任何申请,因为_context.SaveChanges(); (我想)改变了应用程序变量。 如何在不更改本地变量的情况下更改数据库。

1 个答案:

答案 0 :(得分:1)

在更改项目之前调用ToList执行查询:

var applications = _context.Applications.Where(v => v.Exported == false).ToList();