Esta es la respuesta anterior: estas trabajando con <bag> sacale el not-nullable a Movimientofamiliar.IdFamiliar (en la base y en el mapping)
2010/6/15 julio maldonado <[email protected]> > perdon por mi ignorancia Fabio pero no entiendo nada > > > El 14 de junio de 2010 13:30, Fabio Maulo <[email protected]> escribió: > >> si, por eso la respuesta anterior >> >> >> 2010/6/14 julio maldonado <[email protected]> >> >>> perdon este error me aparece aun cuando no modifico el estado. Asi que el >>> problema esta en idFamiliar de Familiar. >>> >>> El 14 de junio de 2010 11:45, Fabio Maulo <[email protected]>escribió: >>> >>>> parent-child >>>> encapsula el Add/Remove de Movimientofamiliar >>>> >>>> 2010/6/14 julio maldonado <[email protected]> >>>> >>>>> a pesar del error graba movimientoFamiliar pero no modifica Familiar: >>>>> >>>>> public class Familiar : /*Persona,*/ IDisposable >>>>> { >>>>> # region Variables >>>>> private int _id; >>>>> private Titular _titular; >>>>> private int _numeroAfiliado; >>>>> private bool _esDiscapacitado; >>>>> private string _usuario; >>>>> private DateTime _fecha; >>>>> private string _usuarioModificacion; >>>>> private DateTime? _fechaModificacion; >>>>> private Familiar _familiar; >>>>> private IList<MovimientoFamiliar> _movimientoFamiliar; >>>>> //private int _idFamiliarPersonal; >>>>> >>>>> # endregion >>>>> >>>>> # region Propiedades >>>>> public virtual int Id >>>>> { >>>>> get { return _id; } >>>>> set { _id = value; } >>>>> } >>>>> >>>>> public virtual Titular Titular >>>>> { >>>>> get { return _titular; } >>>>> set { _titular = value; } >>>>> } >>>>> >>>>> public virtual int NumeroAfiliado >>>>> { >>>>> get { return _numeroAfiliado; } >>>>> set { _numeroAfiliado = value; } >>>>> } >>>>> public virtual bool EsDiscapacitado >>>>> { >>>>> get { return _esDiscapacitado; } >>>>> set { _esDiscapacitado = value; } >>>>> } >>>>> >>>>> public virtual string Usuario >>>>> { >>>>> get { return _usuario; } >>>>> set { _usuario = value; } >>>>> } >>>>> public virtual DateTime Fecha >>>>> { >>>>> get { return _fecha; } >>>>> set { _fecha = value; } >>>>> } >>>>> public virtual string UsuarioModificacion >>>>> { >>>>> get { return _usuarioModificacion; } >>>>> set { _usuarioModificacion = value; } >>>>> } >>>>> public virtual DateTime? FechaModificacion >>>>> { >>>>> get { return _fechaModificacion; } >>>>> set { _fechaModificacion = value; } >>>>> } >>>>> public virtual Familiar Familiar >>>>> { >>>>> get { return _familiar; } >>>>> set { _familiar = value; } >>>>> } >>>>> >>>>> public virtual IList<MovimientoFamiliar> Movimientos >>>>> { >>>>> get { return _movimientoFamiliar; } >>>>> set { _movimientoFamiliar = value; } >>>>> } >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> El 14 de junio de 2010 10:56, José F. Romaniello < >>>>> [email protected]> escribió: >>>>> >>>>> podrías mostrar la clase familiar, con su respecto ID, si el ID esta en >>>>>> una clase base.... mostrar la clase base también. >>>>>> >>>>>> saludos >>>>>> >>>>>> El 14 de junio de 2010 10:42, julio maldonado < >>>>>> [email protected]> escribió: >>>>>> >>>>>>> no. no es eso juan. >>>>>>> >>>>>>> El 14 de junio de 2010 10:15, Juan Cuello >>>>>>> <[email protected]>escribió: >>>>>>> >>>>>>> Eso parece correcto no? No será que tienes puesto en bbdd que >>>>>>>> IdFamiliar de esa tabla es un identity no? >>>>>>>> >>>>>>>> On 14 jun, 14:34, julio maldonado <[email protected]> >>>>>>>> wrote: >>>>>>>> > Si me fije en el log y por lo menos se donde esta el error: >>>>>>>> > INSERT INTO MovimientoFamiliar (IdFamiliar, IdEstadoFamiliar, >>>>>>>> Usuario, >>>>>>>> > Fecha, UsuarioModificacion, FechaModificacion) VALUES (@p0, @p1, >>>>>>>> @p2, @p3, >>>>>>>> > @p4, @p5); select SCOPE_IDENTITY() >>>>>>>> > >>>>>>>> > El 14 de junio de 2010 08:57, Juan Cuello <[email protected]> >>>>>>>> escribió: >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > > Suele ayudar revisar el sql que te genera. Así verás donde te >>>>>>>> falla. >>>>>>>> > >>>>>>>> > > Pon a log4net un logger para NHibernate.SQL >>>>>>>> > >>>>>>>> > > <appender name="DebugAppender" >>>>>>>> > > type="log4net.Appender.DebugAppender"> >>>>>>>> > > <immediateFlush value="true" /> >>>>>>>> > > <layout type="log4net.Layout.PatternLayout"> >>>>>>>> > > <conversionPattern value="%date [%level] %logger - >>>>>>>> %message >>>>>>>> > > %newline"/> >>>>>>>> > > </layout> >>>>>>>> > > </appender> >>>>>>>> > >>>>>>>> > > <logger name="NHibernate.SQL" additivity="false"> >>>>>>>> > > <level value="DEBUG" /> >>>>>>>> > > <appender-ref ref="DebugAppender" /> >>>>>>>> > > </logger> >>>>>>>> > >>>>>>>> > > Se saldrá el SQL en la ventana de debug >>>>>>>> > >>>>>>>> > > On 11 jun, 13:14, julio maldonado <[email protected]> >>>>>>>> wrote: >>>>>>>> > > > Hola! Seguramente habran visto muchas veces: "soy nuevo en >>>>>>>> esto", >>>>>>>> > > > bueno este es el caso. >>>>>>>> > >>>>>>>> > > > Tengo la clase Familiar que tiene un ilist de >>>>>>>> movimientoFamiliar >>>>>>>> > > > y movimientoFamiliar tiene Estados. >>>>>>>> > >>>>>>>> > > > al grabar me da un error "No se puede actualizar la columna de >>>>>>>> > > > identidad 'IdFamiliar'." >>>>>>>> > > > El tema es que no se de que idFamiliar se trata ni por que >>>>>>>> desea >>>>>>>> > > > actualizarla si estoy haciendo una modificacion y no un alta >>>>>>>> > >>>>>>>> > > > <class name="familiar" table="Familiar"> >>>>>>>> > > > <id name ="Id" column ="idFamiliar"> >>>>>>>> > > > <generator class ="identity"/> >>>>>>>> > > > </id> >>>>>>>> > > > <!--<many-to-one name="Agente" >>>>>>>> > > > column="IdAgente" not-null ="true" />--> >>>>>>>> > > > <many-to-one name="Titular" >>>>>>>> > > > column="IdTitular" not-null ="true" /> >>>>>>>> > >>>>>>>> > > > <bag name="Movimientos" cascade="all" inverse="true"> >>>>>>>> > > > <key column="IdFamiliar" /> >>>>>>>> > > > <one-to-many class="Movimientofamiliar" /> >>>>>>>> > > > </bag> >>>>>>>> > >>>>>>>> > > > <property >>>>>>>> > > > name="NumeroAfiliado" >>>>>>>> not-null >>>>>>>> > > > ="true" /> >>>>>>>> > > > <property >>>>>>>> > > > name="EsDiscapacitado" >>>>>>>> not-null >>>>>>>> > > > ="true" /> >>>>>>>> > > > <property >>>>>>>> > > > name="Usuario" >>>>>>>> not-null >>>>>>>> > > > ="true"/> >>>>>>>> > > > <property >>>>>>>> > > > name="Fecha" >>>>>>>> not-null >>>>>>>> > > > ="true"/> >>>>>>>> > > > <property name="UsuarioModificacion" /> >>>>>>>> > > > <property name="FechaModificacion" /> >>>>>>>> > >>>>>>>> > > > </class> >>>>>>>> > >>>>>>>> > > > ************************************************************ >>>>>>>> > > > <class name="Movimientofamiliar" table="MovimientoFamiliar"> >>>>>>>> > > > <id name="Id" column="idMovimientoFamiliar"> >>>>>>>> > > > <generator class="identity" /> >>>>>>>> > > > </id> >>>>>>>> > > > <many-to-one name="familiar" >>>>>>>> > > > column="IdFamiliar" not-null ="true"/> >>>>>>>> > > > <many-to-one name="Estadofamiliar" cascade="all" >>>>>>>> > > > column="IdEstadoFamiliar" not-null ="true"/> >>>>>>>> > >>>>>>>> > > > <!--<bag name="Estadofamiliar" lazy="true" >>>>>>>> inverse="true"> >>>>>>>> > > > <key column="IdEstadoFamiliar" /> >>>>>>>> > > > <one-to-many class="Estadofamiliar" /> >>>>>>>> > > > </bag>--> >>>>>>>> > >>>>>>>> > > > <property >>>>>>>> > > > name="Usuario" >>>>>>>> not-null >>>>>>>> > > > ="true"/> >>>>>>>> > > > <property >>>>>>>> > > > name="Fecha" >>>>>>>> not-null >>>>>>>> > > > ="true"/> >>>>>>>> > > > <property name="UsuarioModificacion" /> >>>>>>>> > > > <property name="FechaModificacion" /> >>>>>>>> > >>>>>>>> > > > </class> >>>>>>>> > > > ************************************************************ >>>>>>>> > > > <class name="Estadofamiliar" table="EstadoFamiliar"> >>>>>>>> > > > <id name="Id" column="IdEstadoFamiliar"> >>>>>>>> > > > <generator class="identity" /> >>>>>>>> > > > </id> >>>>>>>> > > > <property name="Nombre" column ="EstadoFamiliar" not-null >>>>>>>> > > > ="true" /> >>>>>>>> > > > <property name="EstaActivo" not-null >>>>>>>> > > > ="true" /> >>>>>>>> > > > <property name="PorDefecto" not-null >>>>>>>> > > > ="true" /> >>>>>>>> > >>>>>>>> > > > </class> >>>>>>>> > >>>>>>>> > > -- >>>>>>>> > > 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 >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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 >>>>>> >>>>> >>>>> -- >>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>> [email protected] >>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>> >>>> >>>> >>>> >>>> -- >>>> Fabio Maulo >>>> >>>> -- >>>> 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 >>> >> >> >> >> -- >> Fabio Maulo >> >> -- >> 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 > -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
