En un ambiente WEB es otra historia por que mantener los objetos es costoso. Entonces preferimos mantener el ID
El 28 de enero de 2010 17:51, José F. Romaniello <[email protected]>escribió: > Primero que nada, lo que explicaste para nada tiene que ver con nh. > En segundo lugar, ese uso del id es un concepto tan, pero tan pero tan, > orientado a la base que de momentos da estupor saber que estas poniendo el > schema de tu bd en un combo. > > En mi mundo ideal de aplicaciones de escritorio, yo le quiero preguntar al > combobox cual es el convenio seleccionado. No cual es el id del convenio > seleccionado. Me gustaría llenarlo de objetos de convenio, y luego que me de > un objeto convenio como selccionado. > > Desafortunadamente el combo de winforms necesita que le digas el > ValueMember....Entonces lo que Fabio hizo en el ejemplo de Chinook Winform > Coupled es crear una propiedad en la entidad convenio que se llama Self: > > public Convenio Self {get { return this; }} > > y en ValueMember le puso Self. Entonces al pedirle el SelectedValue > devuelve convenio. OJO esto no lo invento Fabio, lo recomiendan en el msnd. > En el ejemplo esta el vinculo a MSDN donde recomiendan esa "práctica".... > > Existen otra suite de controles como las devexpress donde el combo o lookup > es un poco mas inteligente. Y si uno no le pone ValueMember toma el objeto > directamente. > > En WPF la infraestructura de databinding es 1000 veces superior por lo > tanto no hace falta este engendro. > > Y si te gusta el tema del Id ponele ValueMember = "Id", y listo. > > Y no tiene nada que ver con nhibernate. > > No tiene nada que ver. > > Nada que ver. > > > > El 28 de enero de 2010 16:47, Max <[email protected]> escribió: > > Ok muchas gracias... Si tiene que ver con NH, creo que no entendieron >> mi problema. >> Igual gracias. >> >> >> On 28 ene, 17:42, Jose Selesan <[email protected]> wrote: >> > A ver, supongamos que tu clase ConvABM tiene una propiedad "Id" y una >> > propiedad "Nombre". En vez de hacer el foreach, lo que tenes que hacer >> es >> > esto: >> > >> > cmbConvenio.DisplayMember = "Nombre; >> > cmbConvenio.ValueMember = "Id"; >> > cmb.DataSource = convenios; >> > >> > y despues, para saber que Id está seleccionado, tenés que hacer >> > var seleccionado = cmbConvenio.SelectedValue; // con un probable cast al >> > tipo de dato que tenga tu id >> > >> > Pero coincido en que la pregunta no tiene nada que ver con NH >> > >> > Saludos >> > >> > 2010/1/28 Max <[email protected]> >> > >> > >> > >> > > Gracias igual Edgar... Si hay otra persona interesada en darme una >> > > mano se lo agradecería.... >> > >> > > On 28 ene, 16:32, Edgar Ramos <[email protected]> wrote: >> > > > la idea basica es que blindees tus datos, tu combo a un >> bindingsource, >> > > > y la consulta de nh al datasource del binding, pero como ya >> > > > comentaron, no parece ser una pregunta relacionada a nh >> > >> > > > El día 28 de enero de 2010 13:20, Max <[email protected]> >> escribió: >> > >> > > > > Te agradezco la respuesta, pero lamentablemente estoy dentro de >> una >> > > > > red corporativa y no puedo acceder a tu link... si no es mucha >> > > > > molestia pegame esa porción de código donde está lo que querés que >> > > > > vea. >> > > > > Saludos. >> > >> > > > > On 28 ene, 16:18, Edgar Ramos <[email protected]> wrote: >> > > > >> analiza esta aplicacion te despejara algunas dudas >> (ChinookWinForm) >> > >> > > > >>http://cid-7cd03af46c6d65c1.skydrive.live.com/browse.aspx/.Public >> > >> > > > >> El día 28 de enero de 2010 12:52, Max <[email protected]> >> > > escribió: >> > >> > > > >> > Sobre NHibernate >> > >> > > > >> > On 28 ene, 15:32, Gustavo Ringel <[email protected]> >> wrote: >> > > > >> >> La pregunta es sobre NHibernate o sobre WinForms? >> > >> > > > >> >> 2010/1/28 Max <[email protected]> >> > >> > > > >> >> > Gente necesito saber el Id de un elemento al seleccionarlo >> con un >> > > > >> >> > combo. >> > > > >> >> > Lo hago con IList y después lo voy llenando con un foreach. >> > > > >> >> > IList convenios = oHelper.Get(new ConvABM); >> > >> > > > >> >> > foreach (ConvABM cc in convenios) >> > > > >> >> > this.cmbConvenio.Items.Add(cc.Descripcion); >> > >> > > > >> >> > -- >> > > > >> >> > Para escribir al Grupo, hágalo a esta dirección: >> > > > >> >> > [email protected] >> > > > >> >> > Para más, visite: >> > >http://groups.google.com/group/NHibernate-Hispano-Ocultartextode la >> cita >> > > - >> > >> > > > >> >> - Mostrar texto de la cita - >> > >> > > > >> > -- >> > > > >> > Para escribir al Grupo, hágalo a esta dirección: >> > > [email protected] >> > > > >> > Para más, visite: >> > >http://groups.google.com/group/NHibernate-Hispano-Ocultartexto de la >> cita >> > > - >> > >> > > > >> - Mostrar texto de la cita - >> > >> > > > > -- >> > > > > Para escribir al Grupo, hágalo a esta dirección: >> > > [email protected] >> > > > > Para más, visite: >> http://groups.google.com/group/NHibernate-Hispano-Ocultartexto de la cita >> - >> > >> > > > - Mostrar texto de la cita - >> > >> > > -- >> > > Para escribir al Grupo, hágalo a esta dirección: >> > > [email protected] >> > > Para más, >> > > visite:http://groups.google.com/group/NHibernate-Hispano-Ocultar texto >> > > de la cita - >> > >> > - Mostrar texto de la cita - >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
