예제 #1
0
        public static string CreateMappingXMLFrom(
													Entity entity,
													string assemblyName,
													string entityNamespace,
													bool autoImport,
													TopLevelAccessTypes defaultAccess,
													TopLevelCascadeTypes defaultCascade,
													bool defaultLazy)
        {
            hibernatemapping hm = new hibernatemapping
                                    {
                                        @namespace = entityNamespace,
                                        assembly = assemblyName,
                                        autoimport = autoImport
                                    };

            if (defaultAccess != TopLevelAccessTypes.property)
                hm.defaultaccess = defaultAccess.ToString();

            if (defaultCascade != TopLevelCascadeTypes.none)
                hm.defaultcascade = defaultCascade.ToString().Replace("_", "-");

            if (!defaultLazy)
                hm.defaultlazy = defaultLazy;

            EntityMapper mapper = new EntityMapper();
            var newClass = mapper.ProcessEntity(entity);
            hm.AddClass(newClass);
            return hm.ToXml().Replace(@"xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" ", "").Replace(@"xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" ", "");
        }
예제 #2
0
        public static string UpdateNHibernateMappingFile(hibernatemapping hm, EntitySetImpl entitySet)
        {
            EntityMapper mapper = new EntityMapper();

            foreach (var entity in entitySet.Entities)
            {
                var newClass = mapper.ProcessEntity(entity);
                hm.AddClass(newClass);
            }
            return(hm.ToXml());
        }
예제 #3
0
 /// <summary>
 /// Serializes a hibernate mapping to disk (typically '*.hbm.xml')
 /// </summary>
 /// <param name="nHibernateMapping"></param>
 /// <param name="file"></param>
 public static void Save(hibernatemapping nHibernateMapping, string file)
 {
     using (TextWriter tw = new StreamWriter(file, false, Encoding.UTF8))
     {
         using (var xtw = new XmlTextWriter(tw))
         {
             xtw.Formatting  = Formatting.Indented;
             xtw.Indentation = 1;
             xtw.IndentChar  = '\t';
             HibernateXmlSerializer.Serialize(xtw, nHibernateMapping, new XmlSerializerNamespaces(), "utf-8");
             tw.Flush();
         }
     }
 }
예제 #4
0
        public static string CreateMappingXMLFrom(
            Entity entity,
            string assemblyName,
            string entityNamespace,
            bool autoImport,
            TopLevelAccessTypes defaultAccess,
            TopLevelCascadeTypes defaultCascade,
            bool defaultLazy)
        {
            hibernatemapping hm = new hibernatemapping
            {
                @namespace = entityNamespace,
                assembly   = assemblyName,
                autoimport = autoImport
            };

            if (defaultAccess != TopLevelAccessTypes.property)
            {
                hm.defaultaccess = defaultAccess.ToString();
            }

            if (defaultCascade != TopLevelCascadeTypes.none)
            {
                hm.defaultcascade = defaultCascade.ToString().Replace("_", "-");
            }

            if (!defaultLazy)
            {
                hm.defaultlazy = defaultLazy;
            }

            EntityMapper mapper   = new EntityMapper();
            var          newClass = mapper.ProcessEntity(entity);

            hm.AddClass(newClass);
            return(hm.ToXml().Replace(@"xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" ", "").Replace(@"xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" ", ""));
        }
예제 #5
0
        public static string UpdateNHibernateMappingFile(hibernatemapping hm, EntitySetImpl entitySet)
        {
            EntityMapper mapper = new EntityMapper();

            foreach (var entity in entitySet.Entities)
            {
                var newClass = mapper.ProcessEntity(entity);
                hm.AddClass(newClass);
            }
            return hm.ToXml();
        }
예제 #6
0
 /// <summary>
 /// Serializes a hibernate mapping to disk (typically '*.hbm.xml')
 /// </summary>
 /// <param name="nHibernateMapping"></param>
 /// <param name="file"></param>
 public static void Save(hibernatemapping nHibernateMapping, string file)
 {
     using (TextWriter tw = new StreamWriter(file, false, Encoding.UTF8))
     {
         using (var xtw = new XmlTextWriter(tw))
         {
             xtw.Formatting = Formatting.Indented;
             xtw.Indentation = 1;
             xtw.IndentChar = '\t';
             HibernateXmlSerializer.Serialize(xtw, nHibernateMapping, new XmlSerializerNamespaces(), "utf-8");
             tw.Flush();
         }
     }
 }