按类型获取通用存储库

时间:2014-04-29 15:27:55

标签: c# entity-framework repository-pattern unit-of-work

我在实体框架之上使用工作单元和存储库模式,并且想知道是否有办法执行以下操作。

在我的工作单元定义中,我有各种存储库:

IGenericRepository<Car> CarRepository;
IGenericRepository<Van> VanRepository;
etc..

我想知道是否有办法只通过Type获取特定的存储库? 类似的东西:

Type entityType ...
var repo = UnitOfWork.GenericRepositoryByType(entityType);

我想使用实体的类型,而不是传递像:

这样的实例
public IGenericRepository<TEntity> GenericRepositoryByInstance<TEntity>(TEntity entity)   
{}

除非这是唯一的方法吗?

原因是,我将实体类型存储为字符串,然后我可以将其转换为Type,从那里我想获取该类型的存储库?这有意义还是有更好的解决方案?

由于

0 个答案:

没有答案
相关问题