<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Espacio de Dario Quintana &#187; uNHAddIns</title>
	<atom:link href="http://blog.darioquintana.com.ar/category/unhaddins/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.darioquintana.com.ar</link>
	<description></description>
	<lastBuildDate>Tue, 21 Jun 2011 22:51:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>NHibernate + EventListeners + &quot;Cualquier Framework de Validaci&#243;n&quot;</title>
		<link>http://blog.darioquintana.com.ar/2007/12/14/nhibernate-eventlisteners-cualquier-framework-de-validacin/</link>
		<comments>http://blog.darioquintana.com.ar/2007/12/14/nhibernate-eventlisteners-cualquier-framework-de-validacin/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 05:37:14 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[enterprise-library]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/12/14/nhibernate-eventlisteners-cualquier-framework-de-validacin/</guid>
		<description><![CDATA[<p>En <a href="http://blog.darioquintana.com.ar/2007/11/01/validacin-en-nhibernate/">este post</a> estaba adelantando algo que estoy empezando a hacer, por ahora bosquejando y pensando, sin embargo&#8230;hay algo funcional para ir pispeando.</p> <p>La idea es crear un &#34;puente&#34; entre NHibernate y diferentes frameworks para validar nuestras entidades de negocio. Hay quienes les gusta validar solamente en la entrada, otros en la capa de [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://blog.darioquintana.com.ar/2007/11/01/validacin-en-nhibernate/">este post</a> estaba adelantando algo que estoy empezando a hacer, por ahora bosquejando y pensando, sin embargo&#8230;hay algo funcional para ir pispeando.</p>
<p>La idea es crear un &quot;puente&quot; entre NHibernate y diferentes frameworks para validar nuestras entidades de negocio. Hay quienes les gusta validar solamente en la entrada, otros en la capa de negocio, otros en la capa de acceso a datos, u otros en todos lados! Este &quot;approach&quot; intentar&#225; validar en la capa de Acceso a datos, justo antes de que NHibernate realice un Save/Update (y por que no un Delete?).</p>
<p>Por ahora, pueden encontrar el c&#243;digo disponible para usar haciendo un checkout de <a href="http://unhaddins.googlecode.com/svn/branches/NHTrunk/">SVN de uNHAddIns</a>. Consta de un proveedor para usar el validador del <a href="http://www.codeplex.com/entlib">Enterprise Library Application Block</a> . Despu&#233;s veremos que otros frameworks podemos inyectar (para eso necesito sus sugerencias).</p>
<p>Como pueden ver en este test, NHibernate arroja una excepci&#243;n si alguien intenta guardar una entidad no v&#225;lida. Cr&#233;anme que arroja luz verde.</p>
<p>
<div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:7a78aa97-4b54-4f02-936a-bf12080d7f58" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color:White;;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">[Test,ExpectedException(</span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(ValidationException))]
</span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> InsertWithInvalidEntity() {

    </span><span style="color: #0000FF;">using</span><span style="color: #000000;"> (ISession s </span><span style="color: #000000;">=</span><span style="color: #000000;"> sf.OpenSession())
    {
        </span><span style="color: #0000FF;">using</span><span style="color: #000000;"> (ITransaction tx </span><span style="color: #000000;">=</span><span style="color: #000000;"> s.BeginTransaction())
        {
            s.Save(GetNoValidFoo());
            tx.Commit();
        }
    }
}</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>Para poder configurar este escenario es necesario una configuraci&#243;n previa como esta:</p>
<p><div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:691731bf-cb10-48a5-9003-a2c728f5dab1" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color:White;;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">cfg </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Configuration();
cfg.SetProperty(Environment.HibernateValidationProvider,
                </span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(EntLibValidator).AssemblyQualifiedName);

ValidateEventListener validateEventListener </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> ValidateEventListener();
cfg.SetListener(ListenerType.PreInsert, validateEventListener);
cfg.SetListener(ListenerType.PreUpdate, validateEventListener);

cfg.Configure();

sf </span><span style="color: #000000;">=</span><span style="color: #000000;"> cfg.BuildSessionFactory();</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>El EventListener <em>ValidateEventListener</em> hace el trabajo de intercepci&#243;n antes de las operaciones Insert/Update, de ese modo es como podemos hacer el trabajo de validaci&#243;n.</p>
<p>Esto es un borrador, que por cierto funciona, as&#237; que puede cambiar. Todo comentario es m&#225;s que bienvenido.</p>
<p>Para hacer checkout de el c&#243;digo fuente:</p>
<h4><a href="http://unhaddins.googlecode.com/svn/branches/NHTrunk/">http://unhaddins.googlecode.com/svn/branches/NHTrunk/</a></h4>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/12/14/nhibernate-eventlisteners-cualquier-framework-de-validacin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 layer Example of NHibernate + Spring.Net + AOP</title>
		<link>http://blog.darioquintana.com.ar/2007/11/17/3-layer-example-of-nhibernate-springnet-aop/</link>
		<comments>http://blog.darioquintana.com.ar/2007/11/17/3-layer-example-of-nhibernate-springnet-aop/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 14:43:55 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[AOP]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/11/17/3-layer-example-of-nhibernate-springnet-aop/</guid>
		<description><![CDATA[<p>Hace un tiempo escrib&#xED; este proyecto plantilla usando <a href="http://springframework.net/">Spring.Net</a> y <a href="http://www.hibernate.org/343.html">NHibernate</a>principalmente. Us&#xE9; NHibernate para el acceso a datos obviamente y <a href="http://springframework.net/">Spring.Net</a> para aplicar <a href="http://blog.darioquintana.com.ar/2006/12/28/inyeccin-de-dependencia-con-springnet/">IoC</a> y <a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">Aop</a>.</p> <p>Esta es la clase CustomerService:</p> public class CustomerService : BaseService, ICustomerService { /// &#60;summary&#62; /// This field is inyected by IoC through the property. [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo escrib&#xED; este proyecto plantilla usando <a href="http://springframework.net/">Spring.Net</a> y <a href="http://www.hibernate.org/343.html">NHibernate</a>principalmente. Us&#xE9; NHibernate para el acceso a datos obviamente y <a href="http://springframework.net/">Spring.Net</a> para aplicar <a href="http://blog.darioquintana.com.ar/2006/12/28/inyeccin-de-dependencia-con-springnet/">IoC</a> y <a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">Aop</a>.</p>
<p>Esta es la clase <em>CustomerService</em>:</p>
<pre class="csharpcode">
    <span class="kwrd">public</span> <span class="kwrd">class</span> CustomerService : BaseService, ICustomerService
    {
	<span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// This field is inyected by IoC through the property.</span>
        <span class="rem">/// &lt;/summary&gt;</span>

        <span class="kwrd">private</span> ICustomerDao customerDao;        <span class="kwrd"></span>
 <span class="kwrd">	public</span> ICustomerDao CustomerDao {
            get { <span class="kwrd">return</span> customerDao; }
          set { customerDao = <span class="kwrd">value</span>; }
        }

<span class="preproc">#region</span> ICustomerService Members

<span class="kwrd">	public</span> <span class="kwrd">int</span> CreateCustomer(<span class="kwrd">string</span> Name, <span class="kwrd">string</span> LastName) {

        	Customer customer = <span class="kwrd">new</span> Customer();

        	customer.FirstName = <span class="str">"Dario"</span>;

	        customer.LastName = <span class="str">"Quintana"</span>;

		CustomerDao.Save(customer);

<span class="kwrd">		return</span> customer.Id;

        }

<span class="kwrd">	public</span> <span class="kwrd">void</span> DeleteCustomer(<span class="kwrd">int</span> Id) {

            	Customer customer = CustomerDao.GetById(Id);

		CustomerDao.Delete(customer);

        }

<span class="preproc">#endregion</span>

    }</pre>
<p>Como se puede apreciar las clases <em>CreateCustomer</em> &#xF3; <em>DeleteCustomer</em> no est&#xE1;n envueltas en un codigo Transactional o de UnitOfWork, tampoco el m&#xE9;todo <em>Save(customer)</em> en la clase <em>CustomerDao</em>.</p>
<p>Entonces&#8230; donde est&#xE1; el soporte transaccional? Spring + AOP es la respuesta. Spring envuelve a los metodos del Servicio entre transacciones. Y la respuesta para esto son los proxies.</p>
<p>Cuando se realiza la instanciaci&#xF3;n de la clase CustomerService, un proxy es instanciado. Con el proxy de nuestra clase Spring.Net puede envolver los metodos configurados dentro de transacciones. Muy bueno no ? </p>
<p>Otra cosa que pueden apreciar en el ejemplo es el uso de <a href="http://code.google.com/p/unhaddins/">uNhAddIns</a> en el repositorio. Con esta librer&#xED;a podemos usar queries &quot;detachadas&quot; o separadas de un contexto de persistencia por medio de la clase <a href="http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/">DetachedQuery</a>. Con DetachedQuery podemos hacer uso indistinto de Hql/SqlNativo en NamedQueries, <a href="http://blog.darioquintana.com.ar/2007/10/16/named-queries-en-nhibernate-y-por-qu-debemos-usarlas/">y esto es una buena pr&#xE1;ctica que debemos tratar de adoptar</a>.</p>
<h4><a href="http://code.google.com/p/darioquintana/downloads/detail?name=SpringNHAop.7z">Descargar el ejemplo</a></h4>
</p>
<pre></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/11/17/3-layer-example-of-nhibernate-springnet-aop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ActiveRecord con soporte para DetachedQuery</title>
		<link>http://blog.darioquintana.com.ar/2007/11/12/activerecord-con-soporte-para-detachedquery/</link>
		<comments>http://blog.darioquintana.com.ar/2007/11/12/activerecord-con-soporte-para-detachedquery/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 04:15:48 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/11/12/activerecord-con-soporte-para-detachedquery/</guid>
		<description><![CDATA[<p><a href="http://darioquintana.com.ar/blogging/?p=15">[English post]</a></p> <p>Este fin de semana escrib&#xED; las clases necesarias para el soporte de IDetachedQuery con <a href="http://www.castleproject.org/activerecord/index.html">ActiveRecord</a>. <a href="http://code.google.com/p/unhaddins/wiki/LesTroisMousquetaires">DetachedQuery</a> no est&#xE1; disponible todav&#xED;a en ninguna versi&#xF3;n de <a href="http://www.nhibernate.org">NHibernate</a>, la pod&#xE9;s encontrar solamente en <a href="http://code.google.com/p/unhaddins/">uNHAddIns</a>y en el SVN de NHibernate.</p> <p>Agregu&#xE9; un proyecto a uNHAddIns: <a href="http://code.google.com/p/unhaddins/wiki/ActiveRecordAndDetachedQuery">uNHAddIns.ActiveRecord</a>. Este consiste en las clasicas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://darioquintana.com.ar/blogging/?p=15">[English post]</a></p>
<p>Este fin de semana escrib&#xED; las clases necesarias para el soporte de IDetachedQuery con <a href="http://www.castleproject.org/activerecord/index.html">ActiveRecord</a>. <a href="http://code.google.com/p/unhaddins/wiki/LesTroisMousquetaires">DetachedQuery</a> no est&#xE1; disponible todav&#xED;a en ninguna versi&#xF3;n de <a href="http://www.nhibernate.org">NHibernate</a>, la pod&#xE9;s encontrar solamente en <a href="http://code.google.com/p/unhaddins/">uNHAddIns</a>y en el SVN de NHibernate.</p>
<p>Agregu&#xE9; un proyecto a uNHAddIns: <a href="http://code.google.com/p/unhaddins/wiki/ActiveRecordAndDetachedQuery">uNHAddIns.ActiveRecord</a>. Este consiste en las clasicas clases de ActiveRecord pero con soporte para DetachedQuery.</p>
<p>Si queres este soporte, ten&#xE9;s que usar estas clases:</p>
<ul>
<li><tt>ActiveRecordBase</tt> </li>
<li><tt>ActiveRecordBase&lt;T&gt;</tt> </li>
<li><tt>ActiveRecordValidationBase</tt> </li>
<li>and <tt>ActiveRecordValidationBase&lt;T&gt;</tt> </li>
</ul>
<p>Y vas a poder hacer cosas como por ejemplo:</p>
<pre>Customer[] customers = Customer.FindAll(new DetachedQuery(&quot;from Customer Order By Name&quot;));</pre>
<p>Los nuevos m&#xE9;todos para ActiveRecordBase y ActiveRecordValidationBase son:</p>
<ul>
<li>
<pre>public static bool Exists(Type targetType, IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static Array FindAll(Type targetType, IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static object FindFirst(Type targetType, IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static object FindOne(Type targetType, IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static Array SlicedFindAll(Type targetType, int firstResult, int maxResults, IDetachedQuery detachedQuery);</pre>
</li>
</ul>
<p>Y los nuevos metodos para ActiveRecordBase&lt;T&gt; y ActiveRecordValidationBase&lt;T&gt; son:</p>
<ul>
<li>
<pre>public static bool Exists(IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static T[] FindAll(IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static T FindFirst(IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static T FindOne(IDetachedQuery detachedQuery);</pre>
</li>
<li>
<pre>public static T[] SlicedFindAll(int firstResult, int maxResults, IDetachedQuery detachedQuery);</pre>
</li>
</ul>
<p>Esta implementaci&#xF3;n no oculta ninguna caracter&#xED;stica de las clases base de ActiveRecord, son una extensi&#xF3;n para el soporte para IDetachedQuery.</p>
<h4>Requerimientos</h4>
<p>Las clases est&#xE1;n en el ensamblado <tt>uNHAddIns.ActiveRecord.dll</tt>. Y este ensamblado requiere del principal: <tt>uNHAddIns.dll</tt>.</p>
<h4><a href="http://unhaddins.googlecode.com/files/uNHAddIns%20-%20binaries%20-%20Revision%2071.7z">Descargas</a></h4>
<h4><a href="http://code.google.com/p/unhaddins/wiki/ActiveRecordAndDetachedQuery">Entrada en la Wiki</a></h4>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/11/12/activerecord-con-soporte-para-detachedquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Validaci&#243;n en NHibernate</title>
		<link>http://blog.darioquintana.com.ar/2007/11/01/validacin-en-nhibernate/</link>
		<comments>http://blog.darioquintana.com.ar/2007/11/01/validacin-en-nhibernate/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 16:20:55 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/11/01/validacin-en-nhibernate/</guid>
		<description><![CDATA[<p>Una de las puertas que dej&#xF3; abierta el port de EventListeners, es la posibilidad de crear algunas clases para poder validar objetos antes de ser guardados (como as&#xED; tambi&#xE9;n antes de ser borrados).</p> <p>Una opci&#xF3;n es portar <a href="http://www.hibernate.org/412.html">Hibernate.Validator</a>, pero&#8230; algui&#xE9;n realmente va a usarlo? Yo personalmente creo que no. Mirando su implementaci&#xF3;n y qu&#xE9; [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las puertas que dej&#xF3; abierta el port de EventListeners, es la posibilidad de crear algunas clases para poder validar objetos antes de ser guardados (como as&#xED; tambi&#xE9;n antes de ser borrados).</p>
<p>Una opci&#xF3;n es portar <a href="http://www.hibernate.org/412.html">Hibernate.Validator</a>, pero&#8230; algui&#xE9;n realmente va a usarlo? Yo personalmente creo que no. Mirando su implementaci&#xF3;n y qu&#xE9; hace, no ofrece mucho m&#xE1;s de lo que se puede encontrar del lado de .Net con algunas librer&#xED;as. Quiz&#xE1;s alg&#xFA;n d&#xED;a se porte Hibernate.Validator, pero por ahora, yo creo que es m&#xE1;s importante portar algunas otras features de Hibernate, estas se van a aprovechar m&#xE1;s.</p>
<p>Una opci&#xF3;n valida, es crear bridges entre NHibernate (EventListeners) y algunos frameworks conocidos en .Net para la validaci&#xF3;n de entradas (input validation).</p>
<p>Algunas opciones que se me ocurren:</p>
<ul>
<li><a href="http://codeplex.com/entlib">Validation Application Block (Enterprise Library).</a></li>
<li><a href="http://www.lhotka.net/cslanet/">Validation de Csla.Net</a></li>
</ul>
<p>La implementaci&#xF3;n ya sea Hibernate.Validator (no creo) o alg&#xFA;n bridge para los mencionados, se har&#xE1; en <a href="http://code.google.com/p/unhaddins/">uNHAddIns</a>.</p>
<p>Un punto interesante, ser&#xED;a que posea la posilidad de extensibilidad para validadores hechos por nosotros.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/11/01/validacin-en-nhibernate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>uNHAddIns new release available &#8211; Revision 64</title>
		<link>http://blog.darioquintana.com.ar/2007/10/18/unhaddins-new-release-available-revision-64/</link>
		<comments>http://blog.darioquintana.com.ar/2007/10/18/unhaddins-new-release-available-revision-64/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 15:39:29 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/10/18/unhaddins-new-release-available-revision-64/</guid>
		<description><![CDATA[<p>By internal policies <a href="http://code.google.com/p/unhaddins/">uNHAddins</a> not have yet a release number o release version name, by now we are using the revision number at SVN for this purpose. Probably will come a branch when NHibernate 2.0 release appear, and that will be the time.</p> <p><a href="http://code.google.com/p/unhaddins/downloads/detail?name=uNhAddIns%20-%20binaries%20-%20revision%2064.7z&#38;can=2&#38;q=">Download here</a></p> <p>Features of new version:</p> Added UserType: <a href="http://code.google.com/p/unhaddins/wiki/UpperStringUserType">UpperString</a>. [...]]]></description>
			<content:encoded><![CDATA[<p>By internal policies <a href="http://code.google.com/p/unhaddins/">uNHAddins</a> not have yet a release number o release version name, by now we are using the revision number at SVN for this purpose. Probably will come a branch when NHibernate 2.0 release appear, and that will be the time.</p>
<p><a href="http://code.google.com/p/unhaddins/downloads/detail?name=uNhAddIns%20-%20binaries%20-%20revision%2064.7z&amp;can=2&amp;q=">Download here</a></p>
<p>Features of new version:</p>
<ul>
<li>Added UserType: <a href="http://code.google.com/p/unhaddins/wiki/UpperStringUserType">UpperString</a>. Allow save/get strings against the database in upper case. </li>
<li>Few features at pagination. </li>
<li>Documentation enhanced.</li>
<li>Cloner helper for make objects clone via binary serialization.</li>
<li>Build files for compiler using NAnt.</li>
</ul>
<p>For more resources visit:</p>
<ul>
<li><a href="http://code.google.com/p/unhaddins/w/list">Wiki</a></li>
<li><a href="http://groups.google.com/group/unhaddins?hl=en">Discussion Group</a></li>
</ul>
<p><u><strong>[In Spanish]</strong></u></p>
<p>Por politicas internas <a href="http://code.google.com/p/unhaddins/">uNHAddIns</a> todavía no tiene asignado numero o version de Release, por ahora estamos usando el número de revision para esto. Ya vendrá seguramente un branch para usar NHibernate 2.0 cuando sea release, y ese será el momento.</p>
<p><a href="http://code.google.com/p/unhaddins/downloads/detail?name=uNhAddIns%20-%20binaries%20-%20revision%2064.7z&amp;can=2&amp;q=">Descarga aquí</a></p>
<p>En la nueva versión se incluyen:</p>
<ul>
<li>Nuevo <a href="http://code.google.com/p/unhaddins/wiki/UpperStringUserType">UpperString</a> User Type. Permite guardar/obtener los string en mayúsculas (upper case).</li>
<li>Algunas caracteristicas nuevas en la paginación (pocas)</li>
<li>Se ha mejorado la documentación.</li>
<li>Un Cloner para clonar objetos mediante serialización binaria. Simple helper.</li>
<li>Soporta compilación usando NAnt.</li>
</ul>
<p>Para más recursos visitá:</p>
<ul>
<li><a href="http://code.google.com/p/unhaddins/w/list">Wiki</a></li>
<li><a href="http://groups.google.com/group/unhaddins?hl=en">Grupo de discusión</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/10/18/unhaddins-new-release-available-revision-64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>uNHAddins: UnOfficial NHibernate AddIns</title>
		<link>http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/</link>
		<comments>http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 04:27:19 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/</guid>
		<description><![CDATA[<p>Fabio Maulo, con quien tengo el honor de moderar a <a href="http://groups.google.com/group/nhibernate-hispano">NHibernate-Hispano</a>, ah puesto a nuestra disposición este nuevo proyecto llamado <a href="http://code.google.com/p/unhaddins">uNHAddIns</a>.</p> <p>UnOfficial NHibernate Addins nos provee recursos para interactuar con NHibernate que no están en la versión Oficial de NHibernate, una especie de paquete Contrib, al cual podemos hacer llegar requerimientos ó inquietudes [...]]]></description>
			<content:encoded><![CDATA[<p>Fabio Maulo, con quien tengo el honor de moderar a <a href="http://groups.google.com/group/nhibernate-hispano">NHibernate-Hispano</a>, ah puesto a nuestra disposición este nuevo proyecto llamado <a href="http://code.google.com/p/unhaddins">uNHAddIns</a>.</p>
<p>UnOfficial NHibernate Addins nos provee recursos para interactuar con NHibernate que no están en la versión Oficial de NHibernate, una especie de paquete Contrib, al cual podemos hacer llegar requerimientos ó inquietudes para tenerlas en cuenta y en un futuro hacerlas formar parte del framework.</p>
<p>Por ahora,&nbsp; ya podemos disfrutar de features: DetachedCriteria, DetachedQuery, DetachedDynQuery y Pagination.</p>
<p>DetachedQuery&nbsp;es el hermano de DetachedCriteria. DetachedCriteria existe actualmente en el core de NHibernate, pero no habia algo similar para HQL. </p>
<p>Se utiliza DetachedQuery/DetachedCriteria en lugares donde no contamos con una ISession. Es un modo de retardar hasta el ultimo momento la asociación del query con la sesión y esto ayuda a jugar mucho en las implementaciones de DAO Genericas.</p>
<p>Recursos:</p>
<ul>
<li><a href="http://unhaddins.googlecode.com">Página del Proyecto</a></li>
<li><a href="http://groups.google.com/group/unhaddins">Grupo de Discusión de uNHAddIns.</a></li>
<li><a title="http://code.google.com/p/unhaddins/wiki/LesTroisMousquetaires" href="http://code.google.com/p/unhaddins/wiki/LesTroisMousquetaires">LesTroisMousquetaires:DetachedCriteria,DetachedQuery y DetachedDynQuery</a></li>
<li><a href="http://code.google.com/p/unhaddins/downloads/list">Descargas</a></li>
</ul>
<p>Luego postearé codigos de ejemplo, pero pueden unirse al <a href="http://groups.google.com/group/unhaddins">grupo de discución</a> para hacer llegar las preguntas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

