实体框架没有更新方法中的记录

本文关键字:记录 新方法 更新 框架 实体 | 更新日期: 2023-09-27 18:01:28

我使用EF与我的ASP。. NET MVC网站,我注意到一个"问题"在一个新的actionresult()方法。

在同一个Action中,我在同一个Test表中有两个操作

代码:

  //Break point 01
 _documentRepository.UpdateStatus(documentToUpload.IDDocument, Status.Admin);
 //Break point 02 - Just create this aux var to break here and check the database.
 var aux = 1;
  //Break point 03
 var documents =  documentRepository.GetByID(documentToUpload.IDProtocol).ToList();
 foreach(var doc in documents)
 {  
    if(doc.Status == Status.Admin)
    { 
       //Break point 04
       //Never Breaks here.
    }
 }

断点02触发时,我去数据库检查文档的状态,它已经等于 status。Admin(正如我在断点01代码中更改的那样)。但是当我得到一个文档列表时,我签入这个列表,而文档仍然具有较旧的状态。

它可能是什么?

编辑:

库代码:

    public IEnumerable<Document> GetByID(Guid idProtocol)
    {
        return _context.Document.Where(d => d.IDProtocol.Equals(idProtocol));
    }

实体框架没有更新方法中的记录

我已经找到了解决方案,这是我犯的错误。我使用相同的存储库对象来执行这两项操作。我在Action方法中创建了一个新的documentpository对象,并使用它来获取文档列表,然后我得到了列表更新