希望標題足夠清楚。 我的倉庫方法是這樣的: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