private static void AddXmlToNHibernateFromAssmebliesAttributes(ISessionFactoryHolder holder, ActiveRecordModelCollection models) { Iesi.Collections.Generic.ISet <Assembly> assembliesGeneratedXmlFor = new HashedSet <Assembly>(); AssemblyXmlGenerator assemblyXmlGenerator = new AssemblyXmlGenerator(); foreach (ActiveRecordModel model in models) { if (assembliesGeneratedXmlFor.Contains(model.Type.Assembly)) { continue; } assembliesGeneratedXmlFor.Add(model.Type.Assembly); Configuration config = holder.GetConfiguration(holder.GetRootType(model.Type)); string[] configurations = assemblyXmlGenerator.CreateXmlConfigurations(model.Type.Assembly); foreach (string xml in configurations) { if (xml != string.Empty) { config.AddXmlString(xml); } } } foreach (Assembly assembly in registeredAssemblies) { if (assembliesGeneratedXmlFor.Contains(assembly)) { continue; } assembliesGeneratedXmlFor.Add(assembly); Configuration config = holder.GetConfiguration(holder.GetRootType(typeof(ActiveRecordBase))); string[] configurations = assemblyXmlGenerator.CreateXmlConfigurations(assembly); foreach (string xml in configurations) { if (xml != string.Empty) { config.AddXmlString(xml); } } } }
internal TableMappings MapTables(IEnumerable <AptifyEntityMetadata> entities, ActiveRecordModelCollection models) { var mappings = new TableMappings( ); var visitors = new List <IVisitor> { new ModelVisitor(entities, mappings), new HasManyVisitor(entities, mappings), new BelongsToVisitor(mappings), new PropertyVisitor(mappings), }; foreach (IVisitor visitor in visitors) { foreach (ActiveRecordModel model in models) { visitor.VisitModel(model); } } return(mappings); }