うまくいけばタイトルが十分に分かりました。 マイリポジトリメソッドは次のようになります。その方法の結果のうちLINQ Where句は常に空のリストを返します
public async Task<List<Model>> GetAllByCode(string code)
{
using (var ctx = new DatabaseContext())
{
return await ctx.Models.Where(m => m.Code.Equals(code)).ToListAsync();
}
}
、私はビューでコンボボックスにバインド監視可能なコレクションを作成します。
Models = new ObservableCollection<Model>(await ModelRepository.GetAllByCode("code"));
しかしのObservableCollectionは常に空です。私はデバッガで結果を見ることもできます(私が間違っていない場合はIEnumerable
またはIQueryable
のコレクションです)。私が使用するとデータベースが大丈夫だと100%確信しています。
return await ctx.Models.ToListAsync();
データベースからすべての行を返します。
誰でも私が間違っていることを教えてもらえますか?
編集:
問題はエンティティフレームワークにあります。私はまだ解決策を見つけられませんでしたが、私のコンテキストはテーブルから新しいデータを取得しません。代わりに、毎回のリクエストで使い捨てのコンテキストを使用していても常にキャッシュされたバージョンが必要です。
まだ回答はありません。
'Code'フィールドに' code'という値がありますか? –
'm.Code ==" code "'を持つモデルはありますか?あるいは、おそらく 'ModelRepository.GetAllByCode(" code ")'の代わりに 'ModelRepository.GetAllByCode(code)'を書くつもりでしたか? – Clemens
はい、持っています。私はスペルミスでもそれを二重にチェックしました。 – Desomph