I'm still confused by how they can be different orders.
This is how the mappings are added to NHibernate:
public virtual void Configure(Configuration configuration)
{
  _configured = true;

  MappingVisitor visitor = new MappingVisitor(_conventions, configuration,
_chain);
  _mappings.ForEach(mapping => mapping.ApplyMappings(visitor));
}

This is how they're written out:
public void WriteMappingsTo(string folder)
{
  DiagnosticMappingVisitor visitor = new DiagnosticMappingVisitor(folder,
_conventions, null, _chain);
  _mappings.ForEach(m => m.ApplyMappings(visitor));
}

As you can see, they're nigh-on-identical.

On Thu, Jan 8, 2009 at 4:17 PM, Ryan Kelley <rpkel...@gmail.com> wrote:

>
> I believe that using the PersisitnceModel.WritemappingsTo yields
> diferent results than the XML that is acutally used if you don't write
> the mapings though. By different, I mean the order of the properties
> are different. So as long as you are not concerned about what order
> the properties come in then it should be fine. The other way is to do
> something like this:
>
>  Use an IMappingVisitor to do this:
>
> // This code is the caller to write the files
> IList<IMapGenerator> mappers = GeneratorHelper.GetMapGenerators();
>            foreach (var mapper in mappers)
>            {
>                mapper.Generate().Save(mapper.FileName);
>
>            }
>
> Each map I want to write out implements IMapGenerator
>
> public XmlDocument Generate()
>        {
>            return CreateMapping(new MappingVisitor());
>        }
>
> IMapGenerator code:
>
> public interface IMapGenerator
>    {
>        string FileName { get; }
>        XmlDocument Generate();
>     }
>
> On Jan 8, 10:05 am, "James Gregory" <jagregory....@gmail.com> wrote:
> > As Andrew said, the PersistenceModel has a WriteMappingsTo(string
> folder)method.
> >
> > On Thu, Jan 8, 2009 at 4:03 PM, Mart Leet <mal...@gmail.com> wrote:
> > > To see my xml in testexplorer i created
> this:Console.Write(XElement.Parse(CreateMapping(new
> > > MappingVisitor()).FirstChild.NextSibling.InnerXml,
> > > LoadOptions.PreserveWhitespace).ToString());
> >
> > > Not much, but readable...
> >
> > > On Thu, Jan 8, 2009 at 5:57 PM, Troy Goode <troygo...@gmail.com>
> wrote:
> >
> > >> I know from my recent foray into automapping that I can see what the
> > >> XML produced by the automapper is using:
> >
> > >> automapper.WriteMappingsTo("folderpath");
> >
> > >> What is the easiest way to accomplish the same thing (see the
> > >> generated XML) when using ClassMap<T>?
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To post to this group, send email to fluent-nhibernate@googlegroups.com
To unsubscribe from this group, send email to 
fluent-nhibernate+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to