私は次のタイプのセットを持っています:
IQueryProvider
インターフェース:
public interface IQueryProvider<TEntity, TEntityKey>
そして、1つのジェネリックパラメーターが追加された実装:
public class EFQueryProvider<TContext, TEntity, TEntityKey> : IQueryProvider<TEntity, TEntityKey>.
さらに、汎用QueryProviderをカプセル化する具象リポジトリがあります。例えば:
UserRepository : IUserRepository
{
private IQueryProvider<User, int> _provider;
public UserRepository(IQueryProvider<User, int> provider)
{
_provider = provider;
}
}
Unity構成を使用してコンストラクターパラメーターを解決しようとしています:
<register type="IUserRepository" mapTo="ConcreteUserRepository">
<constructor>
<param ... What should be here??? />
<constructor>
</register>
閉じたジェネリック型のインスタンスをコンストラクターに渡すにはどうすればよいですか(インスタンスがEFQueryProvider<MySampleContext, User, int>
コンストラクターに渡されるようにするには、リポジトリ登録ごとにこれを行う必要があります。たとえば、ArticlesRepositoryには別のコンテキストが必要になる可能性があります。助けていただければ幸いです。