What do you expect the query to bring and what is it bringing? Unless I overlooked something, that query will only fetch data from the Technology table (which you can confirm with a profiler or by setting show_sql to true in the NH config file). Once you start iterating that collection of technologies, it will load information from other tables if you access the corresponding properties (Technology.TechnologyDescriptions, etc)
Diego On Mon, Jan 18, 2010 at 12:37, Ben <[email protected]> wrote: > > > I have created 3 tables in my database and put data into them. The 3 > tables all have foreign keys joining them together. Below are the > table classes and there mappings. When I run the query listed at the > end I get IList<> of the objects and they have the data from all 3 > tables. However, my HQL query is only from the top most table. How can > I get back just the results from the top most table? > > These are my classes: > > public class Technology > { > public virtual int Id { get; private set; } > public virtual string Name { get; set; } > public virtual int SortOrder { get; set; } > public virtual string Abbreviation { get; set; } > public virtual IList<TechnologyDescription> > TechnologyDescriptions { get; private set; } > > public Technology() > { > TechnologyDescriptions = new List<TechnologyDescription> > (); > } > > public virtual void AddTechnologyDescription > (TechnologyDescription technologyDescription) > { > technologyDescription.Technology = this; > TechnologyDescriptions.Add(technologyDescription); > } > } > > public class TechnologyDescription > { > public virtual int Id { get; private set; } > public virtual Technology Technology { get; set; } > public virtual string Description { get; set; } > public virtual DescriptionType DescriptionType { get; set; } > } > > public class DescriptionType > { > public virtual int Id {get; private set;} > public virtual string Type { get; set; } > } > > These are my mapping objects: > > public class TechnologyMap : ClassMap<Technology> > { > public TechnologyMap() > { > Id(x => x.Id); > Map(x => x.Name); > Map(x => x.SortOrder); > Map(x => x.Abbreviation); > HasMany(x => x.TechnologyDescriptions) > .Inverse() > .Cascade.All(); > } > } > > public class TechnologyDescriptionMap : > ClassMap<TechnologyDescription> > { > public TechnologyDescriptionMap() > { > Id(x => x.Id); > References(x => x.Technology); > Map(x => x.Description); > References(x => x.DescriptionType); > } > } > > public class DescriptionTypeMap : ClassMap<DescriptionType> > { > public DescriptionTypeMap() > { > Id(x => x.Id); > Map(x => x.Type); > } > } > > And this is my HQL code: > > IQuery q = session.CreateQuery("from Technology T"); > IList technologies = q.List(); > > > -- > 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]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > > > >--
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.
