Hola Pedro, si la estructura de datos es diferente a tu modelo de objetos,
tenés que mapear y especificar todo como lo estás haciendo. Sino, podés
dejar que NH tome los valores por defecto.

Por ejemplo, en ProductoMap no sería necesario que hagas un Map de
Descripción y de Precio, ya que esos van a ser los nombres de los campos de
la tabla Productos ¿verdad? Solo necesitás especificar las cosas puntuales,
por ejemplo, tu tabla y tu clase tienen diferentes nombres (ProductoEntity
y Productos).

Igualmente, si especificas o no el mapeo, NH lo hace. Desde mi punto de
vista, el rendimiento de la aplicación no va a variar mucho.

Saludos Y ÉXITOS!!


--
Juan José Montes de Oca Arbós.

===========================
Web personal: http://juanjose.montesdeocaarbos.com.ar/blog/


El 29 de mayo de 2014, 13:02, Pedro Avila <pavilan...@gmail.com> escribió:

> Hola hace poco hice un mantenimiento con  NHibernate primero fue un
> mantenimieto de una tabla luego de otra, pero cuando hice el mantenimiento
> de la segunda tabla me di cuenta que hacia el mapping a las dos entidades
> creadas, si tuviera un desarrollo real donde se trabaja con muchas
> entidades estaría mapenado todas las entidades?
>
> Este es mi código.
> namespace Prueba.AccesoDatos
> {
>     public class FluentSesionFactory
>     {
>         private static string ConnectionString = "Data Source=.;Initial
> Catalog=Prueba;User ID=sa;Password=lim@01";
>         private static ISessionFactory session;
>
>         public static ISessionFactory CrearSession()
>         {
>             if (session != null)
>                 return session;
>
>             IPersistenceConfigurer configDB =
> MsSqlConfiguration.MsSql2012.ConnectionString(ConnectionString);
>             var configMap =
>                 Fluently.Configure().Database(configDB).Mappings(
>                     c =>
> c.FluentMappings.AddFromAssemblyOf<Mapping.PersonalMap>());
>
>             session = configMap.BuildSessionFactory();
>
>             return session;
>         }
>
>         public static ISession AbrirSession()
>         {
>             return CrearSession().OpenSession();
>         }
>
>     }
> }
>
> Estos son los mapping
>
> namespace Prueba.AccesoDatos.Mapping
> {
>     public class PersonalMap : ClassMap<PersonalEntity>
>     {
>         public PersonalMap()
>         {
>             Id(c => c.PersonalId);
>             Map(c => c.Nombre);
>             Map(c => c.Direccion);
>             Map(c => c.Telefono);
>             Table("Personal");
>         }
>
>     }
> }
>
> namespace Prueba.AccesoDatos.Mapeo
> {
>     public class ProductoMap : ClassMap<ProductoEntity>
>     {
>         public ProductoMap()
>         {
>             Id(c => c.ProductoId);
>             Map(c => c.Descripcion);
>             Map(c => c.Precio);
>             Table("Productos");
>         }
>     }
> }
>
> Creo yo que en un desarrollo verdadero estar mapeando todas las entidades
> que tienen muchas propiedades haga lento el rendimiento.
>
>
>
>  --
> --
> Para escribir al Grupo, hágalo a esta dirección:
> NHibernate-Hispano@googlegroups.com
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
> ---
> Has recibido este mensaje porque estás suscrito al grupo
> "NHibernate-Hispano" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a
> nhibernate-hispano+unsubscr...@googlegroups.com.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

-- 
-- 
Para escribir al Grupo, hágalo a esta dirección: 
NHibernate-Hispano@googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
--- 
Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" 
de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía 
un correo electrónico a nhibernate-hispano+unsubscr...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Responder a