Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>From <a href="http://fisheye3.atlassian.com/browse/nhibernate/trunk/nhibernate/src/NHibernate/Tuple/ITuplizer.cs?r=3313" rel="noreferrer">ITuplizer's source code</a>:</p> <blockquote> <p>A tuplizer defines the contract for things which know how to manage a particular representation of a piece of data, given that representation's EntityMode (the entity-mode essentially defining which representation).</p> <p>If that given piece of data is thought of as a data structure, then a tuplizer is the thing which knows how to:</p> <ul> <li>create such a data structure appropriately </li> <li>extract values from and inject values into such a data structure</li> </ul> <p>For example, a given piece of data might be represented as a POCO class. Here, it's representation and entity-mode is POCO. Well a tuplizer for POCO entity-modes would know how to:</p> <ul> <li>create the data structure by calling the POCO's constructor </li> <li>extract and inject values through getters/setter, or by direct field access, etc </li> </ul> <p>That same piece of data might also be represented as a DOM structure, using the tuplizer associated with the XML entity-mode, which would generate instances of XmlElement as the data structure and know how to access the values as either nested XmlElements or as XmlAttributes.</p> </blockquote> <p>In the <a href="http://nhforge.org/blogs/nhibernate/archive/2008/10/16/less-than-gof-is-hbm.aspx" rel="noreferrer">words of Fabio Maulo</a>: </p> <blockquote> <p>The tuplizer defines how to transform a Property-Value to its persistent representation, and viceversa a Column-Value to its in-memory representation, and the EntityMode defines which tuplizer is in use.</p> </blockquote> <p>Some things you can do with custom tuplizers:</p> <ul> <li><a href="http://www.theserverside.com/news/1363571/Remote-Lazy-Loading-in-Hibernate" rel="noreferrer">Remote lazy loading</a> (the article uses Java Hibernate but the general concepts apply to NHibernate as well)</li> <li><a href="http://nhforge.org/blogs/nhibernate/archive/2008/10/12/less-than-few-is-gof.aspx" rel="noreferrer">Seamlessly mapping/persisting interfaces instead of POCOs</a></li> <li><a href="http://bitbucket.org/robertpi/functionalnhibernate/src/tip/src/app/FunctionalNHibernate/FSharpRecordTuplizer.fs" rel="noreferrer">Mapping/persisting F# records</a> (from the <a href="http://strangelights.com/blog/archive/2009/12/20/1650.aspx" rel="noreferrer">FunctionalNHibernate project</a>)</li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload