Castle.ActiveRecord.Model.CategorizeProperty C# (CSharp) Метод

CategorizeProperty() публичный Метод

public CategorizeProperty ( ISessionFactory sessionfactory, IType prop, string name ) : void
sessionfactory ISessionFactory
prop IType
name string
Результат void
        void CategorizeProperty(ISessionFactory sessionfactory, IType prop, string name)
        {
            if (prop is ComponentType) {
                Components.Add(name, new Model(sessionfactory, (ComponentType) prop));
            } else if (prop is OneToOneType) {
                OneToOnes.Add(name, (OneToOneType) prop);
            } else if (prop is ManyToOneType) {
                BelongsTos.Add(name, (ManyToOneType) prop);
            } else if (prop is AnyType) {
                Anys.Add(name, (AnyType) prop);
            } else if (prop is CollectionType) {
                var ctype = (CollectionType) prop;
                var persister = sessionfactory.GetCollectionMetadata(ctype.Role) as ICollectionPersister;
                if (persister == null) return;

                if (persister.IsManyToMany) {
                    HasAndBelongsToManys.Add(name, new Collection(ctype, persister));
                } else {
                    HasManys.Add(name, new Collection(ctype, persister));
                }
            } else {
                Properties.Add(name, prop);
            }
        }