繁体   English   中英

实体框架返回具有可处理上下文的旧数据

[英]Entity Framework returning old data with disposable context

这是我第一次看到此问题。

考虑我的存储库方法:

public async Task<List<Code>> GetAllByType(string type)
{
    using (var ctx = new DatabaseContext())
    {
        return await ctx.Codes.Where(code => code.Type.Equals(type)).ToListAsync();
    }
}

这是我尝试为根据上述方法的结果创建的视图创建可观察的集合时偶然发现的问题。 因此:

Types = new ObservableCollection<Code>(await CodeRepository.GetAllByType("TestType"));

即使我使用的是一次性上下文,每次执行查询时,存储库都会返回旧数据。 我已经用"TestType"作为列值手动编辑了一些条目,它仍然是未更改的旧数据。 我添加了3个新条目, 但未找到

是的, 我的数据库中确实有条目 数据库是不区分大小写的,无论如何我都尝试了所有组合-实体框架上下文仍在返回旧数据。

有人以前有这个问题吗?

提前致谢!

您可能在编辑错误的数据库。 请仔细检查您的连接字符串,并确保您正在编辑应用程序实际连接到的字符串。

这不是您的情况,但是如果将Context声明为静态属性,则EF可以返回旧数据。 例如 :

public MyController : Controller {
    public static DatabaseContext Db = new DatabaseContext();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM