Карта структуры и Entity Framework 4.1 - PullRequest
1 голос
/ 07 августа 2011

У меня есть классы репозитория с такой формой:

  public partial class CategoryRepository : EfRepository<Category>, ICategoryRepository
{
    public CategoryRepository(IUnitOfWork uow)
        : base(uow)
    { }
}
public partial interface ICategoryRepository : IRepository<Category>
{
}

, и мне нужно иметь много из них в одном формате.это долгая скучная работа.Для начальной загрузки я использую сканирование общего типа.

 ObjectFactory.Initialize(x =>
        {              
            x.Scan(y =>
            {
                y.AssemblyContainingType(typeof(IRepository<>));
                y.ConnectImplementationsToTypesClosing(typeof(IRepository<>)).
                    OnAddedPluginTypes(z => z.HybridHttpOrThreadLocalScoped());

            });

Работает просто отлично, но было бы лучше, если бы мне не нужно было объявлять все классы репозитория, как указано выше.Во всяком случае, обойти это ??Я использую Structuremap 2.6.2

Спасибо всем, Nam Vo.

1 Ответ

0 голосов
/ 10 августа 2011

Да, вы можете использовать дженерики для этого.Объявите репозиторий по умолчанию или что-то вроде этого:

    public class DefaultRepository<TEntity> : 
EfRepository<TEntity>, IRepository<TEntity>

Убедитесь, что вы сами ограничиваете TEntity правильными типами.

...