这是我第一次看到这个问题。
考虑我的存储库方法:
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个新条目, not found 。
是的,我的数据库中有条目。数据库不区分大小写,我尝试了所有组合,无论我做什么 - 实体框架上下文仍然返回旧数据。
以前有人遇到过这个问题吗?
提前致谢!
答案 0 :(得分:2)
您可能正在编辑错误的数据库。请仔细检查您的连接字符串,并确保您正在编辑应用程序实际连接的字符串。
答案 1 :(得分:1)
这不是您的情况,但如果将Context声明为静态属性,则EF可以返回旧数据。例如:
public MyController : Controller {
public static DatabaseContext Db = new DatabaseContext();
}