Entonces la busqueda esta bien no? si quieres que retorne solo UNO entonces agrega mas condiciones al filtro. Que version de NHibernate estas usando, porque si es >= 3.0 te recomendaria a traves de QueryOver es mas sencillo. algo asi: var cliente = session.QueryOver<Cliente>().where(c => c.name == @variablenombre && c.document_id = @variablesDocumentId).SingleOrDefault();
2013/3/22 Marvin Leopoldo Chay Gonzalez <[email protected]> > Porque en algunos casos voy a tener varios clientes con el mismo nombre, > la diferencia esta en un documento que los identifica. > > > El 21 de marzo de 2013 15:44, Nestor Andres Rodriguez <[email protected] > > escribió: > > Hola, >> >> Al utilizar una busqueda por nombre a traves de query.List<Cliente>() te >> van a venir muchos clientes. Entonces no entiendo porque dices que no >> quieres que te traiga los clientes ? >> >> >> 2013/3/21 Marvin Leopoldo Chay Gonzalez <[email protected]> >> >>> actualmente estoy realizando una búsqueda de esta manera: >>> >>> //Busqueda de Cliente a travez de su nonmbre >>> public static IList<Cliente> buscaNombre(string nombre) >>> { >>> IList<Cliente> cliente; >>> using (NHibernate.ISession NHSession = >>> SessionFactory.getNewSession()) >>> { >>> try >>> { >>> NHibernate.ICriteria query = NHSession >>> .CreateCriteria(typeof(Cliente)) >>> .Add(Restrictions.Like("Nombre", "%" + nombre + "%")) >>> ; >>> cliente = query.List<Cliente>(); >>> } >>> catch >>> { >>> throw new Exception("Ocurrio un error al intentarse >>> Conectar a la Base de datos"); >>> } >>> finally >>> { >>> NHSession.Close(); >>> } >>> } >>> return cliente; >>> } >>> >>> El problema esta cuando busco nombres de esta manera "Juan Lopez" >>> (porque en la base de datos se encuentran en un solo campo) me carga todos >>> los datos de la base de datos. >>> >>> Alguien me puede ayudar con este problema. >>> >>> >>> >>> -- >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> [email protected] >>> 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 correos >>> electrónicos, envía un correo electrónico a >>> [email protected]. >>> Para obtener más opciones, visita >>> https://groups.google.com/groups/opt_out. >>> >>> >>> >> >> -- >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> 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 correos >> electrónicos, envía un correo electrónico a >> [email protected]. >> Para obtener más opciones, visita >> https://groups.google.com/groups/opt_out. >> >> >> > > > > -- > > *Marvin Chay* > > -- > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > 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 correos > electrónicos, envía un correo electrónico a > [email protected]. > Para obtener más opciones, visita https://groups.google.com/groups/opt_out > . > > > -- -- Para escribir al Grupo, hágalo a esta dirección: [email protected] 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 correos electrónicos, envía un correo electrónico a [email protected]. Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
