ActiveRecord con soporte para DetachedQuery
Este fin de semana escribí las clases necesarias para el soporte de IDetachedQuery con ActiveRecord. DetachedQuery no está disponible todavía en ninguna versión de NHibernate, la podés encontrar solamente en uNHAddInsy en el SVN de NHibernate.
Agregué un proyecto a uNHAddIns: uNHAddIns.ActiveRecord. Este consiste en las clasicas clases de ActiveRecord pero con soporte para DetachedQuery.
Si queres este soporte, tenés que usar estas clases:
- ActiveRecordBase
- ActiveRecordBase<T>
- ActiveRecordValidationBase
- and ActiveRecordValidationBase<T>
Y vas a poder hacer cosas como por ejemplo:
Customer[] customers = Customer.FindAll(new DetachedQuery("from Customer Order By Name"));
Los nuevos métodos para ActiveRecordBase y ActiveRecordValidationBase son:
-
public static bool Exists(Type targetType, IDetachedQuery detachedQuery);
-
public static Array FindAll(Type targetType, IDetachedQuery detachedQuery);
-
public static object FindFirst(Type targetType, IDetachedQuery detachedQuery);
-
public static object FindOne(Type targetType, IDetachedQuery detachedQuery);
-
public static Array SlicedFindAll(Type targetType, int firstResult, int maxResults, IDetachedQuery detachedQuery);
Y los nuevos metodos para ActiveRecordBase<T> y ActiveRecordValidationBase<T> son:
-
public static bool Exists(IDetachedQuery detachedQuery);
-
public static T[] FindAll(IDetachedQuery detachedQuery);
-
public static T FindFirst(IDetachedQuery detachedQuery);
-
public static T FindOne(IDetachedQuery detachedQuery);
-
public static T[] SlicedFindAll(int firstResult, int maxResults, IDetachedQuery detachedQuery);
Esta implementación no oculta ninguna característica de las clases base de ActiveRecord, son una extensión para el soporte para IDetachedQuery.
Requerimientos
Las clases están en el ensamblado uNHAddIns.ActiveRecord.dll. Y este ensamblado requiere del principal: uNHAddIns.dll.
Descargas
Entrada en la Wiki
1 Comment “ActiveRecord con soporte para DetachedQuery”
RSS feed for comments on this post. TrackBack URL
[...] traerá más capacidades para ActiveRecord, por ejemplo, aquí muestro como usar DetachedQuery con ActiveRecord. Usando NHibernate 2.0, podré subir un patch [...]
Pingback by ActiveRecord moviendose a NHibernate 2 at Espacio de Dario Quintana — 14 November 2007 @ 3:10