예제 #1
0
        public override object ReadFrom(IDataReader reader, ICollectionPersister persister, object owner)
        {
            object element = persister.ReadElement(reader, owner, Session);

            values.Add(element);
            identifiers[values.Count - 1] = persister.ReadIdentifier(reader, Session);
            return(element);
        }
예제 #2
0
        public override object ReadFrom(IDataReader reader, ICollectionPersister persister, ICollectionAliases descriptor, object owner)
        {
            object element = persister.ReadElement(reader, owner, descriptor.SuffixedElementAliases, Session);
            object id      = persister.ReadIdentifier(reader, descriptor.SuffixedIdentifierAlias, Session);

            // eliminate duplication if loaded in a cartesian product
            if (!identifiers.ContainsValue(id))
            {
                identifiers[values.Count] = id;
                values.Add(element);
            }
            return(element);
        }
예제 #3
0
        public override object ReadFrom(IDataReader reader, ICollectionPersister persister, ICollectionAliases descriptor,
                                        object owner)
        {
            object element    = persister.ReadElement(reader, owner, descriptor.SuffixedElementAliases, Session);
            object tempObject = GetIdentifier(values.Count);

            identifiers[values.Count] = persister.ReadIdentifier(reader, descriptor.SuffixedIdentifierAlias, Session);
            object old = tempObject;

            if (old == null)
            {
                values.Add(element);                 //maintain correct duplication if loaded in a cartesian product
            }
            return(element);
        }
		public override object ReadFrom(IDataReader reader, ICollectionPersister persister, ICollectionAliases descriptor,
		                                object owner)
		{
			object element = persister.ReadElement(reader, owner, descriptor.SuffixedElementAliases, Session);
			object tempObject = GetIdentifier(values.Count);
			identifiers[values.Count] = persister.ReadIdentifier(reader, descriptor.SuffixedIdentifierAlias, Session);
			object old = tempObject;
			if (old == null)
			{
				values.Add(element); //maintain correct duplication if loaded in a cartesian product			
			}
			return element;
		}
		public override object ReadFrom(IDataReader reader, ICollectionPersister persister, ICollectionAliases descriptor, object owner)
		{
			object element = persister.ReadElement(reader, owner, descriptor.SuffixedElementAliases, Session);
			object id = persister.ReadIdentifier(reader, descriptor.SuffixedIdentifierAlias, Session);
			
			// eliminate duplication if loaded in a cartesian product
			if (!identifiers.ContainsValue(id))
			{
				identifiers[values.Count] = id;
				values.Add(element);
			}
			return element;
		}
예제 #6
0
		public override object ReadFrom(IDataReader reader, ICollectionPersister role, ICollectionAliases descriptor,
		                                object owner)
		{
			object element = role.ReadElement(reader, owner, descriptor.SuffixedElementAliases, Session);
			values.Add(element);
			identifiers[values.Count - 1] = role.ReadIdentifier(reader, descriptor.SuffixedIdentifierAlias, Session);
			return element;
		}
		public override object ReadFrom( IDataReader reader, ICollectionPersister persister, object owner )
		{
			object element = persister.ReadElement( reader, owner, Session );
			values.Add( element );
			identifiers[ values.Count - 1 ] = persister.ReadIdentifier( reader, Session );
			return element;
		}