我有以下一组类型:
IQueryProvider
接口:
public interface IQueryProvider<TEntity, TEntityKey>
并添加了一个通用参数的实现:
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 可能需要另一个上下文。任何帮助表示赞赏。