私はこのリポジトリメソッドを持っています:
public IQueryable<TModel> GetAll()
{
using (var context = new DatabaseContext())
{
return context.Set<TModel>().AsQueryable();
}
}
アーティストモデルはどこTModel
ですか.. とにかく
そして、コントローラーに次のアクションがあります。
// GET api/artist
[Queryable]
public IQueryable<ArtistModel> Get()
{
return _repo.GetAll().AsQueryable();
}
今..リストを返すようにリポジトリメソッドを変更.ToList
し、結果にも追加すると、これはうまく機能します。しかし、その後、どのような OData クエリが入ってきても..最初に「すべてのクエリを取得」を実行します..それらをリストに変換してから、そのリストに対して OData クエリを実行します..
これは単純に間違っているように思えます..私がやりたいことは、データベースからデータをフェッチしようとしているのと同時にODataクエリが実行されるようにすることです..そのため、クエリに一致する非常に具体的な結果のみが得られます..そして、後で照会される大量のデータではありません..
今のところ、使用の外で一度破棄されるという問題がありDbContext
ます..しかし、私はまだDbContext
いくつかの場所で、いくつかの方法で..
何か案は?