Guest User

Untitled

a guest
May 23rd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. // Registry
  2. public CoreRegistry()
  3. {
  4. ForRequestedType(typeof(IRepository<>))
  5. .TheDefaultIsConcreteType(typeof(NHRepository<>));
  6.  
  7. ForRequestedType<IUnitOfWorkFactory>()
  8. .TheDefaultIsConcreteType<UnitOfWorkFactory>().AsSingletons();
  9.  
  10. Scan(x =>
  11. {
  12. // Scan the types in the assembly that contains this Registry class
  13. x.TheCallingAssembly();
  14. x.AddAllTypesOf<SCPersistenceModel>();
  15. x.WithDefaultConventions();
  16. });
  17. }
  18. // Custom Persistence Model Wrapper
  19. // Just adding a public way to AddMappingsFromThisAssembly() basically.
  20. public abstract class SCPersistenceModel : PersistenceModel
  21. {
  22. public abstract void AddMappings();
  23. }
  24.  
  25. // Custom Persistence Model Implementation
  26. public class DDDModelPersistence : SCPersistenceModel
  27. {
  28. public DDDModelPersistence() : base()
  29. { }
  30.  
  31. public override void AddMappings()
  32. {
  33. addMappingsFromThisAssembly();
  34. }
  35. }
  36.  
  37. // Usage in UOW Factory
  38. var persistenceModels = ObjectFactory.GetAllInstances<SCPersistenceModel>();
  39. foreach (var model in persistenceModels)
  40. {
  41. model.AddMappings();
  42. model.Configure(_configuration);
  43. }
Add Comment
Please, Sign In to add comment