まず始めましょう、これが可能かどうかはわかりません。私はジェネリックスを学んでおり、アプリにいくつかのリポジトリがあります。ジェネリック型を取り、それをすべてのリポジトリから継承できるものに変換するインターフェイスを作成しようとしています。さて、私の質問に移りましょう。
public interface IRepository<T>
{
IEnumerable<T> FindAll();
IEnumerable<T> FindById(int id);
IEnumerable<T> FindBy<A>(A type);
}
ジェネリックを使用して何を見つけるかを決定することは可能ですか?
public IEnumerable<SomeClass> FindBy<A>(A type)
{
return _context.Set<SomeClass>().Where(x => x. == type); // I was hoping to do x.type and it would use the same variable to search.
}
もう少し明確にするために、私は文字列、int、または検索したいタイプであると考えていました。私が望んでいるのは、何かが渡された変数と等しいx.somethingと言うことができるということです。
を使用して、任意のリポジトリをdbcontextに設定できます
public IDbSet<TEntity> Set<TEntity>() where TEntity : class
{
return base.Set<TEntity>();
}
助言がありますか?