私は次の作業単位を持っています。IOC を介してリポジトリを追加し、タイプに基づいてサービス内のそれらのリポジトリにアクセスできるように構成されています。新しいリポジトリが登場するたびに作業単位を書き直す必要はありません。私が行った調査によると、これに Activator を使用しても、パフォーマンスへの影響は心配するほどではありません。
public class DbContextUnitOfWork : IDisposable
{
public DbContextUnitOfWork(DbContext dbContext))
{
// Set DbContext
}
public void AddRepository<T>() where T : IRepository
{
// Activate T and inject DbContext
// Add to singleton list
}
public T GetRepository<T>() where T : IRepository
{
// If T exists on list return T
}
// Other methods such as save, dispose, etc.
}
私の質問は、DBContextUnitOfWork の解決が完了したときに、追加する必要があるすべてのリポジトリに対して AddRepository メソッドを明示的に呼び出すことができるように、Windsor を構成するにはどうすればよいですか?