Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Registry
- public CoreRegistry()
- {
- ForRequestedType(typeof(IRepository<>))
- .TheDefaultIsConcreteType(typeof(NHRepository<>));
- ForRequestedType<IUnitOfWorkFactory>()
- .TheDefaultIsConcreteType<UnitOfWorkFactory>().AsSingletons();
- Scan(x =>
- {
- // Scan the types in the assembly that contains this Registry class
- x.TheCallingAssembly();
- x.AddAllTypesOf<SCPersistenceModel>();
- x.WithDefaultConventions();
- });
- }
- // Custom Persistence Model Wrapper
- // Just adding a public way to AddMappingsFromThisAssembly() basically.
- public abstract class SCPersistenceModel : PersistenceModel
- {
- public abstract void AddMappings();
- }
- // Custom Persistence Model Implementation
- public class DDDModelPersistence : SCPersistenceModel
- {
- public DDDModelPersistence() : base()
- { }
- public override void AddMappings()
- {
- addMappingsFromThisAssembly();
- }
- }
- // Usage in UOW Factory
- var persistenceModels = ObjectFactory.GetAllInstances<SCPersistenceModel>();
- foreach (var model in persistenceModels)
- {
- model.AddMappings();
- model.Configure(_configuration);
- }
Add Comment
Please, Sign In to add comment