Normal with existing data.Create a new object and retrieve it ... in
practice try to write a very little test and you will see how <list> is
working.

2009/5/18 Grimley <[email protected]>

>
> I have removed this property, but am getting the same thing, a
>
> NHibernate.Collection.Generic.PersistentGenericList<MyProject.Model.OrderLineItem>
> collection that contains 3 items, with collection[0] being null.
>
> I have gotten this to work using a <bag />
>
>    <bag name="OrderLineItems" table="OrderLineItems" cascade="none"
> lazy="true">
>      <key column="OrderId" />
>       <composite-element class="OrderLineItem">
>        <property name="QuantityOrdered" column="QuantityOrdered" />
>         <many-to-one name="Product" column="ProductId" />
>      </composite-element>
>     </bag>
>
> On May 15, 9:12 am, Fabio Maulo <[email protected]> wrote:
> > Remove the property OrderLineItem.OrderLineItemNumber and try again.That
> > property is auto-managed by NH using the position in IList (default based
> on
> > 0).
> > You can specify a different base.
> >
> > 2009/5/14 Grimley <[email protected]>
> >
> >
> >
> >
> >
> > > I am pretty new to nhibernate and have been tinkering more and more
> > > lately.  I've run into an issue with a <list /> mapping.
> >
> > > Here is my mapping file (taken from the Customer -> Order -> LineItem)
> > > example in the nhibernate docs
> >
> > > <?xml version="1.0" encoding="utf-8" ?>
> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> > > assembly="MyProject.Model" namespace="MyProject.Model">
> > >  <class name="Order" table="Orders">
> > >    <id name="Id">
> > >      <generator class="identity" />
> > >    </id>
> > >    <property name="OrderDate" />
> > >    <many-to-one name="Customer" column="CustomerId" />
> > >    <list name="OrderLineItems" table="OrderLineItems" lazy="true">
> > >      <key column="OrderId" />
> > >      <index column="OrderLineItemNumber" />
> > >      <composite-element class="OrderLineItem">
> > >        <property name="Quantity" column="Quantity" />
> > >        <many-to-one name="Product" column="ProductId" />
> > >      </composite-element>
> > >    </list>
> > >  </class>
> > > </hibernate-mapping>
> >
> > > I see the appropriate SQL being run
> > > NHibernate: SELECT order0_.Id as Id3_0_, order0_.OrderDate as
> > > OrderDate3_0_, order0_.CustomerId as CustomerId3_0_ FROM Orders
> > > order0_ WHERE order0_....@p0; @p0 = '1'
> >
> > > NHibernate: SELECT orderlinei0_.OrderId as OrderId0_,
> > > orderlinei0_.Quantity as Quantity0_, orderlinei0_.ProductId as
> > > ProductId0_, orderlinei0_.OrderLineItemNumber as OrderLin4
> >
> > > The second SELECT returns 2 rows which I would expect.  But when I try
> > > to iterate through the Order.OrderLineItems collection property there
> > > are 3 in the collection.  The first item is null.
> >
> > > I've got the follow property on my Order class
> >
> > > public virtual IEnumerable<OrderLineItem> OrderLineItems { get; set; }
> >
> > > I am unsure as to what I am missing here.  Is an empty OrderLineItem
> > > initialized?
> >
> > > Any help would be appreciated.
> >
> > > Thanks.
> >
> > --
> > Fabio Maulo
> >
>


-- 
Fabio Maulo

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to