That worked. Thanks. However, as my next requirement the class definition has changed to: public class Customer { public long CustomerId {get; set;} public CustomerType CustomerType {get; set;} public List<CustomerOrder> CustomerOrders {get; set;} public List<CustomerAddress> CustomerAddresses {get; set;} } And the issue that I have now run into is that there are 10 customer orders and although there is only one customer address, I get 10 records there.
On Tuesday, October 30, 2012 10:43:05 AM UTC-5, Guido wrote: > Are you looking for this? > > var query = > session.Query<Customer().Where(cus => cus.CustomerId == customerId) > .Fetch(c => c.CustomerType) > .FetchMany(c => c.CustomerOrders) > .ThenFetch(co => co.Item) > .ToList() > ; > > > I had no time for setting up your classes, give it a try > > On Tue, Oct 30, 2012 at 4:25 PM, rema <rema...@yahoo.com <javascript:>>wrote: > >> Sorry about that. You are correct. >> >> The corrected class definition is: >> >> public class Customer >> { >> public long CustomerId {get; set;} >> public CustomerType CustomerType {get; set;} >> public List<CustomerOrder> CustomerOrders {get; set;} >> } >> >> On Tuesday, October 30, 2012 10:17:42 AM UTC-5, Guido wrote: >> >>> Well maybe you should correct the class definition you posted then. I >>> see no list in your class. >>> >>> >>> On Tue, Oct 30, 2012 at 3:54 PM, rema <rema...@yahoo.com> wrote: >>> >>>> .ThenFetch(co => co.Item) <=== At this time co is a list of customer >>>> orders so I have to do a select >>>> >>>> >>>> >>>> On Tuesday, October 30, 2012 9:07:16 AM UTC-5, Guido wrote: >>>> >>>>> Why not >>>>> >>>>> .ThenFetch(co => co.Item)) >>>>> >>>>> ? >>>>> >>>>> >>>>> On Mon, Oct 29, 2012 at 3:44 PM, rema <rema...@yahoo.com> wrote: >>>>> >>>>>> I have the following object structure: >>>>>> >>>>>> public class CustomerType >>>>>> { >>>>>> public int CustomerTypeId {get; set;} >>>>>> public string TypeName {get; set;} >>>>>> } >>>>>> >>>>>> public class Customer >>>>>> { >>>>>> public long CustomerId {get; set;} >>>>>> public CustomerType CustomerType {get; set;} >>>>>> public CustomerOrder CustomerOrders {get; set;} >>>>>> } >>>>>> >>>>>> public class CustomerOrder >>>>>> { >>>>>> public long CustomerOrderId {get; set;} >>>>>> public Item Item {get; set;} >>>>>> } >>>>>> >>>>>> public class Item >>>>>> { >>>>>> public int ItemId {get; set;} >>>>>> public string ItemName {get; set;} >>>>>> } >>>>>> >>>>>> My Query looks like: >>>>>> >>>>>> var query = >>>>>> session.Query<Customer().**Where**(cus => >>>>>> cus.CustomerId == customerId) >>>>>> .Fetch(c => c.CustomerType) >>>>>> .Fetch(c => c.CustomerOrders) >>>>>> .ThenFetch(co => co.Select(it => it.Item)).ToList(); >>>>>> >>>>>> But I get the following error: >>>>>> >>>>>> "A fetch request must be a simple member access expression; >>>>>> '[100002]' is a SubQueryExpression instead.\r\nParameter name: >>>>>> relatedObjectSelector" >>>>>> >>>>>> If I remove the last .ThenFetch - then it works just fine. >>>>>> >>>>>> I do need to load the Item object >>>>>> >>>>>> Any ideas? >>>>>> >>>>>> Thanks >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Fluent NHibernate" group. >>>>>> To view this discussion on the web visit https://groups.google.com/d/ >>>>>> **ms**g/fluent-nhibernate/-/**iVb2xQHY**lGcJ<https://groups.google.com/d/msg/fluent-nhibernate/-/iVb2xQHYlGcJ> >>>>>> . >>>>>> To post to this group, send email to fluent-n...@**googlegroups.com. >>>>>> To unsubscribe from this group, send email to fluent-nhibern...@** >>>>>> googlegroups**.com. >>>>>> >>>>>> For more options, visit this group at http://groups.google.com/** >>>>>> group**/fluent-nhibernate?hl=en<http://groups.google.com/group/fluent-nhibernate?hl=en> >>>>>> . >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Fluent NHibernate" group. >>>> To view this discussion on the web visit https://groups.google.com/d/** >>>> msg/fluent-nhibernate/-/8l-**F2SL4JDUJ<https://groups.google.com/d/msg/fluent-nhibernate/-/8l-F2SL4JDUJ> >>>> . >>>> >>>> To post to this group, send email to fluent-n...@**googlegroups.com. >>>> To unsubscribe from this group, send email to fluent-nhibern...@** >>>> googlegroups.com. >>>> For more options, visit this group at http://groups.google.com/** >>>> group/fluent-nhibernate?hl=en<http://groups.google.com/group/fluent-nhibernate?hl=en> >>>> . >>>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Fluent NHibernate" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/fluent-nhibernate/-/VZEjcrCaJJMJ. >> >> To post to this group, send email to >> fluent-n...@googlegroups.com<javascript:> >> . >> To unsubscribe from this group, send email to >> fluent-nhibern...@googlegroups.com <javascript:>. >> For more options, visit this group at >> http://groups.google.com/group/fluent-nhibernate?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To view this discussion on the web visit https://groups.google.com/d/msg/fluent-nhibernate/-/QMeLpjjRIL8J. To post to this group, send email to fluent-nhibernate@googlegroups.com. To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en.