FluentNHibernate.PersistenceModel.WriteMappingsTo C# (CSharp) Method

WriteMappingsTo() public method

public WriteMappingsTo ( string folder ) : void
folder string
return void
        public void WriteMappingsTo(string folder)
        {
            EnsureMappingsBuilt();

            foreach (var mapping in compiledMappings)
            {
                var serializer = new MappingXmlSerializer();
                var document = serializer.Serialize(mapping);

                using (var writer = new XmlTextWriter(Path.Combine(folder, mapping.Classes.First().Name + ".hbm.xml"), Encoding.Default))
                {
                    writer.Formatting = Formatting.Indented;
                    document.WriteTo(writer);
                }
            }
        }

Usage Example

        /// <summary>
        /// ����nh����
        /// </summary>
        /// <param name="facilityConfiguration"></param>
        /// <returns></returns>
        public NHibernate.Cfg.Configuration GetConfiguration(IConfiguration facilityConfiguration)
        {
            var configuration = new DefaultConfigurationBuilder().GetConfiguration(facilityConfiguration);

            //����ӳ��
            var assemblies = facilityConfiguration.Children["assemblies"];
            assemblies.Children.ForEach(o => configuration.AddMappingsFromAssembly(Assembly.Load(o.Value)));
            //�����������
            var fluent = FluentNHibernate.Cfg.Fluently.Configure(configuration);
            var classes = facilityConfiguration.Children["classes"];

            if (classes == null) return configuration;

            classes.Children.ForEach(o =>
            {
                var m = new PersistenceModel();
                var type = Type.GetType(o.Value, false);
                if (type == null)
                    throw new Exception("�Ҳ�������" + o.Value + "����ȷ���Ƿ����ø��������ڵij���");

                m.Add(type);
                using (var stream = new MemoryStream())
                using (var writer = new StreamWriter(stream))
                {
                    m.WriteMappingsTo(writer);
                    writer.Flush();
                    stream.Seek(0, 0);
                    configuration.AddInputStream(stream);
                }
            });

            return configuration;
        }
All Usage Examples Of FluentNHibernate.PersistenceModel::WriteMappingsTo