希望标题足够清楚。 我的仓库方法是这样的:LINQ子句总是返回一个空列表
public async Task<List<Model>> GetAllByCode(string code)
{
using (var ctx = new DatabaseContext())
{
return await ctx.Models.Where(m => m.Code.Equals(code)).ToListAsync();
}
}
的是方法的结果,我创造我绑定到ComboBox在视图中可观察到的集合。
Models = new ObservableCollection<Model>(await ModelRepository.GetAllByCode("code"));
但的ObservableCollection总是空。我甚至可以在调试器中看到结果(如果我没有弄错,这是一个IEnumerable
或IQueryable
集合)。我100%确定数据库没问题,因为当我使用
return await ctx.Models.ToListAsync();
它返回数据库中的所有行。
谁能告诉我我做错了什么?
编辑:
问题出在实体框架中。我仍然没有找到解决方案,但是我的上下文不会从表中检索新数据,而是总是需要缓存(我想)版本,即使我对每个请求都使用了一次性上下文。
虽然还没有回答。
你真的在'Code'字段中有'code'的值吗? –
当然,有任何模型与'm.Code ==“代码”'?或者你是否打算写'ModelRepository.GetAllByCode(code)'而不是'ModelRepository.GetAllByCode(“code”)'? – Clemens
是的,我拥有它。我再次检查它,即使是拼写错误。 – Desomph