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.