Try fast search NHibernate

03 March 2010

Opinions about ConfORM

I have received a curious opinion about ConfORM through Twitter. For some reason the twitt was probably deleted but I have the image:


Nice to meet you Jeremy!!

Some fact

This is part of my first post about ConfORM:

The API proposed in the previous post is pretty good but the underlining implementation is too much strongly typed to be reused in a non-strongly-typed task.

I was thinking in begin a new proof-of-concept but two weeks ago somebody have asked me to write ~400 mappings of a domain created from various XSD… perhaps to join business requirement and Open-Source pleasure is not so hard.

The motivation around is pretty clear and I hope that your mind is enough open to understand “the underlining implementation is too much strongly typed to be reused in a non-strongly-typed task” and which is the non-strongly-typed task.

In the NHibernate’s development list you can read this mail:

Hi all.
I'm going to begin the implementation of "Loquacious mapping" in the trunk.
- API proposed in my blog (generics and strongly typed)
- *Mapper implementation as studied in ConfORM (namespaces ConfOrm.NH
and ConfOrm.Mappers ), neither generic nor strongly typed.

Thoughts ?

Again in the NHibernate’s development list you can read this mail:

> What benefit is this if FluentNH already does something similar?

Before somebody else continue with the same question I would like to have an
answer to these questions:
Which is the benefit/differences between:
Win7, MacOsX, Umbutu... ?
NUnit, MbUnit, xUnit ?
Spring.Net, Castle.Windsor, LinFu, AutoFact, Unity, StructureMap, Funq ?
MsSQL, Oracle, MySql, PostGres, FireBird, SqLite.... ?
Log4Net, NLog, EL-Logging ?
LinFu-AOP, Castle-AOP, Spring-AOP, PostSharp, Cecil ?
J#, C#, VB.NET, Delphi.NET, IronRuby, IronPython ?

When somebody will explain me, in detail, why we should have so many options
to do the same I will explain why I want start a different project.


Part of ConfORM is a study of some classes you will see in NHibernate3.0 and are oriented to those people want write something to map NHibernate (including Fluent-NHibernate).

We (NHibernate team) heard the phrase “Instead of making the necessary structural improvements” and the answer is the same Ayende gave more than one year ago: “a patch is welcome”. We was waiting a patch or a proposal and we are still waiting.

I never said why use or not use Fluent-NHibernate because for me is an option to map a domain for NHibernate, as others options. To have many options to achieve the same goal is the heart, or may be the consequence, of the evolution.

Take it easy and be happy!!


  1. Fabio,

    I honestly saying do not understand the rant by people about "structural changes".

    For me personally "making mapping a breath" would be the best structural change as, probably, most of the productive time is spend with mocking around the mappings. No tool yet provides exactly good way of increasing the productivity when working with mapping (that applies to Fluent too).

    I am very impressed of the "mapping" done in Ruby's ActiveRecords or DataMapper. They ARE a breath.

    So I believe you could also take the spirit from there and possibly introduce some parts of it in the ConfORM.

    And on the other note.

  2. @Dmitriy
    I don't know those frameworks but I'm impressed by ConfORM... there are times when some piece of code seems to have a soul.

  3. Fabio,
    First of all, great work as always :)

    Now, from what I've read on your other post and Jeremy's comments, I think there might have been a misunderstanding between you two, which caused all that. I think Jeremy missed your post about mapping NH using your own API, in which you say that the generation of xml isn't necessary any more. As far as I understood, Jeremy was pissed off because he thought this is not the case and that confORM is the only API that could map nh without generating xml... Well, that's how I understood it anyway.

  4. twitter was made to misunderstand each other, hence I'm not surprised.

  5. If I understood correctly ConfORM is about using C# to map entities instead of XML. However there is already Fluent NHibernate for this purpose.

    If I am wrong would you list me or point me to site where I can understand its objectives ?


  6. What you are describing is only what you want/can see from external point of view (my target was and is another).
    To be more clear, perhaps, I can make some example:
    - a shoe is the same than a car: with both, I can move without touching the ground with the skin on my feet.
    - a stone is equals to horse: both are composed by atoms.

    I can continue but I think that is enough.

    If a tool is the same of another is only your point of view. If you think that a tool is useful for you, just uses it. If you think that a tool is not useful for you, just don't uses it.

    If you want compare ConfORM with Fluent-NHibernate, just do it without ask me because I'm writing a new framework for some reason, no?
    Or you are thinking that I haven't something better to do ?

  7. Fabio or anyone else, if you have already done so, I apologize and I would appreciate a link. Is there a simple compare/contrast list somewhere of what FNH and CORM do the same/differently? I'd like to pick one, but I can't find any place that lists the differences.

    Thank you!

  8. Probably because nobody is interested to write a comparison.