2014-12-09 2 views
0

나는 웹 응용 프로그램 (웹 양식)에서 작업 중입니다. 앞으로 NHibernateRepositoryFactory로 EntityFrameworkRepositoryFactory를 변경할 수 있기를 바랍니다.RepositoryFactory with Ninject

IRepositoryFactory

public interface IRepositoryFactory 

{ 

IProductRepository GetProductRepository(); 

} 

ProductRepository

public class ProductRepository : IProductRepository 
{ 

ExDbContext _db; 


public ProductRepository(ExDbContext dbContext) 
{ 

_db = dbContext; 

} 



public IList<Product> ListProductsByCategoryId(int categoryId) 
{ 

List<Product> productsByCategoryId = _db.Products.Where(x => x.ProductCategoryId == categoryId).ToList(); 

return productsByCategoryId; 

} 

} 

그리고 EntityFrameworkRepositoryFactory있다.

class EntityFrameworkRepositoryFactory:IRepositoryFactory 

{ 

ExDbContext _db; 

public EntityFrameworkRepositoryFactory(ExDbContext dbContext) 

{ 

_db = dbContext; 

// 

// TODO: Add constructor logic here 

// 

} 

public IProductRepository GetProductRepository() 

{ 

return new ProductRepository(_db); 

} 

} 

어떻게하면 쉽게 변경할 수 있습니까? 액세스 EntityFrameworkRepositoryFactory에 ninject를 사용하고 싶지만 막혔습니다. 이것에 대한 예가 있습니까?

감사합니다.

+0

는 어디 붙어 있습니까? 쉽게 조롱당하는 한 가지 방법으로 하나의 인터페이스가 있습니다. 당신이 한 일로 당신이 요구 한 것은 가능해야합니다. –

+0

@Atoms 쉽게 볼 수있는 몇 가지 방법을 정리했습니다. 그게 하나의 방법으로 단일 인터페이스 때문입니다. Factory 클래스를 쉽게 변경할 수있는 방법을 물었습니다. – OzanWt

답변