我已经为 nhibernate 实现了存储库和工作单元模式。我使用ninject作为DI。我有不止一个数据库,所以我有不同的工作单元实现和不同的存储库。我用来将 IDatabaseConnection 接口注入到工作单元:
public interface IDatabaseConnection
{
ISessionFactory SessionFactory { get; }
}
和工作单位:
public class SomeUnitOfWork : GenericUnitOfWork
{
[Inject]
public SomeUnitOfWork(IDatabaseConnection connection)
: base(connection)
{
}
和一些回购
[Inject]
public IRepository<Transaction> Transactions { get; private set; }
[Inject]
public IRepository<Paramdef> Paramdefs { get; private set; }
[Inject]
public IRepository<Transmap> Transmaps { get; private set; }
[Inject]
public IRepository<User> Users { get; private set; }
我在 ninject 模块上绑定 IRepository 时使用的 GenericRepository 实现具有等待 ISession 的参数,而不是可以从 ISessionFactory 中检索到的参数。我该怎么做?