2011-12-01 18 views
5

Hay un excelente post sobre cómo asignar los valores de cambio de una llamada de procedimiento almacenado aquí: http://elegantcode.com/2008/11/23/populating-entities-from-stored-procedures-with-nhibernate/Cómo escribir asignaciones para un procedimiento almacenado

El mapeo en este ejemplo se ha hecho a través de archivos de HBM.

Estoy tratando de usar la última versión de Nhibernate (3.2) donde podemos hacer mapas a través del código. Realmente quiero averiguar el código C# que crearía un mapeo, como a continuación:

<sql-query name="GetProductsByCategoryId"> 
    <return class="Product"> 
     <return-property column="ProductID" name="Id" /> 
     <return-property column="ProductName" name="Name" /> 
     <return-property column="SupplierID" name="Supplier" /> 
     <return-property column="CategoryID" name="Category" /> 
     <return-property column="QuantityPerUnit" name="QuantityPerUnit" /> 
     <return-property column="UnitPrice" name="UnitPrice" /> 
     <return-property column="UnitsInStock" name="UnitsInStock" /> 
     <return-property column="UnitsOnOrder" name="UnitsOnOrder" /> 
     <return-property column="ReorderLevel" name="ReorderLevel" /> 
     <return-property column="Discontinued" name="Discontinued" /> 
    </return> 
    exec dbo.GetProductsByCategoryId :CategoryId 
</sql-query> 
+0

Ahora está visible;) (puede eliminar el comentario) –

+0

@VishalKumar ¿Podría publicar un ejemplo en el que solo utiliza el código para invocar procedimientos almacenados? – Rookian

Respuesta

1

Para ser honesto, nunca probé, por usted debe echar un vistazo al método de extensión AddNamedQuery(..): desde el cual lo que Configuration instancia (espacio de nombre NHibernate.Cfg)).

Some examples en el proyecto de prueba NHibernate.

Por cierto, puede mezclar el nuevo 3.2 mapeo por código y xml uno. Comience a mirar this question;

+1

Gracias Michele, sé sobre la parte de mezclar. De hecho, utilicé el mapeo clásico de archivos hbm como en el ejemplo anterior para que funcione a través de 3.2. Pero AddNamedQuery (..) es realmente lo que estoy buscando hacer mapeo por código. – dreamerkumar

Cuestiones relacionadas