Jak wstrzyknąć DbContext Entity Framework do repozytorium ConfigurationBased w SharpRepository

Naprawdę chciałbym użyćSharpRepository razem zNinject, ale nie rozumiem, jak skonfigurować Ninject, aby współużytkować DbContext Entity Framework między repozytoriami.

Używam Entity Framework w wersji 5 i Ninject w wersji 3.

Obecnie używamEf5Repository w moim kodzie źródłowym, ale chcę go zastąpićConfigurationBasedRepository. Ale nie mogę wymyślić, jak przekazać (lub wstrzyknąć) EFDbContext do repozytoriów.

Przykład (bieżący stan):

using SharpRepository.Repository;

public interface IProductRepository : IRepository<Product>
{
}

using SharpRepository.Ef5Repository;
using System.Data.Entity;

// TODO Tightly coupled to Ef5Repository.
public class ProductRepository : Ef5Repository<Product>, IProductRepository
{
    // TODO The DbContext has to be injected manually.
    public ProductRepository(DbContext context) : base(context)
    {
    }

    // [...]
}

Cel:

using SharpRepository.Repository;

public interface IProductRepository : IRepository<Product>
{
}

public class ProductRepository : ConfigurationBasedRepository<Product, int>, IProductRepository
{
    // [...]
}

Przeczytałem już dwa posty na bloguSharpRepository: Pierwsze kroki iSharpRepository: Konfiguracja, ale obie mi nie pomagają, ponieważ:

Użyty DIC to StructureMap, a nie Ninject.Przykłady kodu źródłowego są niekompletne (np. Użycie nie zadeklarowanych zmiennych).

Moje pytanie: Czy ktoś może mi podać przykład kodu źródłowego, aby osiągnąć cel opisany powyżej (dzielenie się jedną ramą EntityDbContext instancja między wszystkimi repozytoriami rozszerzającymiConfigurationBasedRepository)?

questionAnswers(2)

yourAnswerToTheQuestion