Esempio n. 1
0
        public ITypeHandler <T1, T2> OneToMany()
        {
            _persistentAssemblyBuilder = GetPersistentAssemblyBuilder();
            var type1        = typeof(T1);
            var type2        = typeof(T2);
            var type1Name    = getName(type1);
            var type2Name    = getName(type2);
            var classHandler = _persistentAssemblyBuilder.CreateClasses(new[] { type1Name, type2Name });

            classHandler.CreateReferenceMembers(info => info.Name == type2Name ? new[] { info.PersistentAssemblyInfo.PersistentClassInfos[0] } : null, true);
            createTypes(type1, type2, _persistentAssemblyBuilder, type1Name, type2Name);
            return(this);
        }
Esempio n. 2
0
        public ITypeHandler <T1, T2> ManyToMany()
        {
            PersistentAssemblyBuilder persistentAssemblyBuilder = GetPersistentAssemblyBuilder();
            var type1        = typeof(T1);
            var type2        = typeof(T2);
            var type1Name    = getName(type1);
            var type2Name    = getName(type2);
            var classHandler = persistentAssemblyBuilder.CreateClasses(new[] { type1Name, type2Name });
            IPersistentAssemblyInfo persistentAssemblyInfo = persistentAssemblyBuilder.PersistentAssemblyInfo;
            var persistentClassInfo1 = persistentAssemblyInfo.PersistentClassInfos[0];
            var persistentClassInfo2 = persistentAssemblyInfo.PersistentClassInfos[1];

            classHandler.CreateCollectionMember(persistentClassInfo1, type2Name + "s", persistentClassInfo2);
            classHandler.CreateCollectionMember(persistentClassInfo2, type1Name + "s", persistentClassInfo1, type2Name + "s");
            createTypes(type1, type2, persistentAssemblyBuilder, type1Name, type2Name);
            return(this);
        }