Hi all,

I have the following problem. I've defined 3 classes by using the following 
structure:

        public class ReducedModalityReductionDataSet : Entity<Guid>
        {
                public ReducedModalityReductionDataSet()
                {
                        ReducedModalityReductionDataSetItems = new 
Iesi.Collections.Generic.HashedSet<ReducedModalityReductionDataSetItem>();
                }
 
                public virtual System.Int32 DataSetNumber { get; set; }
                public virtual System.String DataSetName { get; set; }
                public virtual System.String Company { get; set; }
                public virtual System.Byte Status { get; set; }
 
                public virtual ISet<ReducedModalityReductionDataSetItem> 
ReducedModalityReductionDataSetItems { get; protected set; }
 
                public virtual void 
AddReductionDataSetItem(ReducedModalityReductionDataSetItem reductionItem)
                {
                        reductionItem.ReducedModalityReductionDataSet = this;
                        ReducedModalityReductionDataSetItems.Add(reductionItem);
                }
        }


        public class ReducedModalityReductionDataSetItem
        {
                public ReducedModalityReductionDataSetItem()
                {
                        ReducedModalityReductionDataSetPeriods = new 
Iesi.Collections.Generic.HashedSet<ReducedModalityReductionDataSetPeriod>();
                }
 
                public virtual System.Guid Id { get; set; }
                public virtual System.String Cuil { get; set; }
                public virtual Nullable<System.DateTime> FechaAlta { get; set; }
                public virtual System.String Modalidad { get; set; }
 
                public virtual ReducedModalityReductionDataSet 
ReducedModalityReductionDataSet { get; set; }
                public virtual ISet<ReducedModalityReductionDataSetPeriod> 
ReducedModalityReductionDataSetPeriods { get; protected set; }
 
                public virtual void 
AddPeriod(ReducedModalityReductionDataSetPeriod period)
                {
                        period.ReducedModalityReductionDataSetItem = this;
                        ReducedModalityReductionDataSetPeriods.Add(period);
                }
        }


        public class ReducedModalityReductionDataSetPeriod : ComponentBase
        {
                public virtual System.Int32 MonthNumber { get; set; }
                public virtual System.String MonthYear { get; set; }
                public virtual System.String ReductionValue { get; set; }
 
                public virtual ReducedModalityReductionDataSetItem 
ReducedModalityReductionDataSetItem { get; set; }
 
                public override bool Equals(object entity)
                {
                        if (entity == null)
                                return false;
 
                        if (ReferenceEquals(this, entity))
                                return true;
 
                        return false;
                }
 
                public override int GetHashCode()
                {
                        return this.MonthNumber.GetHashCode() +
                                this.MonthYear.GetHashCode() +
                                this.ReductionValue.GetHashCode();
                }
        }

In the ReducedModalityReductionDataSetItem class I have defined a 
collection of the ReducedModalityReductionDataSetPeriod class which is 
defined as component in the hbm file:


        <class name="ReducedModalityReductionDataSetItem" 
table="ReducedModalityReductionDataSetItem" schema="dbo">             <id 
name="Id" access="property" column="Id">                    <generator 
class="assigned" />          </id>
                <property name="Cuil" type="System.String" column="Cuil" />     
        <property name="FechaAlta" type="System.DateTime" column="FechaAlta" /> 
        <property name="Modalidad" type="System.String" column="Modalidad" />
                <many-to-one name="ReducedModalityReductionDataSet" 
class="ReducedModalityReductionDataSet" column="DataSet_Id" />                  
            <set name="ReducedModalityReductionDataSetPeriods" 
table="ReducedModalityReductionDataSetPeriod" lazy="true" 
order-by="MonthNumber">                    <key column="DataSetItem_Id" />      
                                   <composite-element 
class="ReducedModalityReductionDataSetPeriod">                               
<parent name="ReducedModalityReductionDataSetItem" />                           
<property name="MonthNumber" type="System.Int32" column="MonthNumber" 
not-null="true" />                                <property name="MonthYear" 
type="System.String" column="MonthYear" not-null="true" />                      
     <property name="ReductionValue" type="System.String" 
column="ReductionValue" not-null="true" />                 </composite-element> 
           </set>  </class>


The data for these classes are obtained from Excel files. When selecting 
multiple files, the data of the first of them are persisted very well. When 
reading the second file, I see in the log file (configured by log4net) many 
DELETE operations on the ReducedModalityReductionDataSetPeriod table  (which 
contains the data for the component collection).


Log file extract:


2013-05-23 09:48:19,715 [PayrollAppClientThread] DEBUG NHibernate.SQL [(null)] 
- 
    
        DELETE 
        FROM

        ReducedModalityReductionDataSetPeriod 

        WHERE

        DataSetItem_Id = @p0 

        AND MonthNumber = @p1 

        AND MonthYear = @p2 

        AND ReductionValue = @p3;

    
        @p0 = cd7ac39f-fa74-4571-abf3-7a2ec1b7a363 [Type: Guid (0)], @p1 = 2 
[Type: Int32 (0)], @p2 = 'FEB-13' [Type: String (4000)], @p3 = '201' [Type: 
String (4000)]

2013-05-23 09:48:19,828 [PayrollAppClientThread] DEBUG NHibernate.SQL [(null)] 
- 
    
        DELETE 
        FROM

        ReducedModalityReductionDataSetPeriod 

        WHERE

        DataSetItem_Id = @p0 

        AND MonthNumber = @p1 

        AND MonthYear = @p2 

        AND ReductionValue = @p3;

    
        @p0 = cd7ac39f-fa74-4571-abf3-7a2ec1b7a363 [Type: Guid (0)], @p1 = 3 
[Type: Int32 (0)], @p2 = 'MAR-13' [Type: String (4000)], @p3 = '201' [Type: 
String (4000)]

2013-05-23 09:48:19,921 [PayrollAppClientThread] DEBUG NHibernate.SQL [(null)] 
- 
    
        DELETE 
        FROM

        ReducedModalityReductionDataSetPeriod 

        WHERE

        DataSetItem_Id = @p0 

        AND MonthNumber = @p1 

        AND MonthYear = @p2 

        AND ReductionValue = @p3;

    
        @p0 = cd7ac39f-fa74-4571-abf3-7a2ec1b7a363 [Type: Guid (0)], @p1 = 4 
[Type: Int32 (0)], @p2 = 'ABR-13' [Type: String (4000)], @p3 = '201' [Type: 
String (4000)]


Why is it happening? Do I need to do an additional configuration?


I hope you can help me.


Thanks in advanced.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to