Generics structuremap基于实例获取泛型类型的实例

Generics structuremap基于实例获取泛型类型的实例,generics,structuremap,Generics,Structuremap,假设您有一个包含实体实例的变量 对象实体//可以是个人、组织、 你有经典的IRepository,IRepository。。。 继承自IGenericRepository,IGenericRepository repo.DoSometing(entity); 如何为实体对象创建一个IRepository实例,并且尽可能少或没有反射 比如: var repo = ObjectFactory.GetInstance( GetGenericRepositoryInterfaceFor(entity)

假设您有一个包含实体实例的变量

对象实体//可以是个人、组织、

你有经典的IRepository,IRepository。。。 继承自IGenericRepository,IGenericRepository

repo.DoSometing(entity);
如何为实体对象创建一个IRepository实例,并且尽可能少或没有反射

比如:

var repo = ObjectFactory.GetInstance( GetGenericRepositoryInterfaceFor(entity) );


我认为您的问题缺少一些信息,因为您的格式不正确。请纠正这一点,使您的问题易于理解。更具体地说,DbContext有一个ValidateEntry方法,可用于自定义复杂验证。然而,将所有定制的复杂验证放在一个方法中,将违反SRP并使该方法变得复杂。因此,我想实例化一个特定于该实体的存储库或验证服务,并在它所属的位置执行验证。我不想把它放在实体模型中,因为它也不属于实体模型,例如,验证逻辑可能会为了验证目的进一步访问数据库。您的问题仍然无法理解。你所说的经典IRepository,IRepository,…是什么意思。。。从IGenericRepository继承,IGenericRepository?有一个由GenericRepository实现的IGenericRepository。对于特定存储库,例如PersonRespository实现了从IGenericRepository继承的IPersonRespository
repo.DoSometing(entity);