I'm up to the last item in your list. That's what I was specifically asking about. I've used NHibernate for simple/intermediate queries but have yet to successfully construct a large query.
On Jun 23, 5:52 pm, Diego Mijelshon <[email protected]> wrote: > The first problem there is "a Stored Proc that populates a grid". > You've got to change the way you look at this *radically* if you want to > take advantage of NHibernate. > > I'll give you some starting steps. > - Create a rich domain model that represents your entities and their > relationships (mapped as references, not Ids) > - Map your domain to the DB. You can use XML, Fluent or ConfORM, whatever > you like best > - Design your view, with the corresponding data bindings. You can take two > approaches here: > - Pass the domain objects and bind to nested properties. For example, > Name, AuthorAddress.State, etc > - Build DTOs/Presentation Models from your domain objects exposing just > what the grid needs. For example BookName, AuthorAddressState, etc. > - Build a simple query that retrieves the root objects. You can use HQL, > Criteria, Linq... > - Optimize your query and mappings using joining, batching and caching to > improve performance as needed > > Diego > > > > On Wed, Jun 23, 2010 at 19:05, Mike <[email protected]> wrote: > > I'm trying to figure out how to do complicated queries in NHibernate. > > I'm trying to refactor a Stored Proc that populates a grid to an > > NHibernate query, but I'm having problems because it joins a dozen > > tables. I'm aware of setting FetchModes in NHibernate; however, it > > just seems like it's going to be difficult to recreate the results of > > this query in OO format instead of tabular format. Here's an example > > query: > > > SELECT > > Book.ID, > > Book.Name, > > Author.Name, > > AuthorAddress.State, > > Publisher.Name, > > PublisherAddress.State > > FROM > > Book > > INNER JOIN Author ON (Author.ID = Book.AuthorID) > > INNER JOIN Address AuthorAddress ON (AuthorAddress.ID = > > Author.AddressID) > > INNER JOIN Publisher ON (Publisher.ID = Book.PublisherID) > > INNER JOIN Address PublisherAddress ON (PublisherAddress.ID = > > Publisher.AddressID) > > > Now this is a mocked up example, but you can see the Joins go more > > than one level deep. After I figure in dynamic sorting and paging, > > the Stored Proc yields the exact structure I want to show in my grid. > > I'm having problems replicating this with NHibernate. Any advice out > > there? Should I be taking a different approach? I thought about > > keeping a stored procedure and loading it to a simple DTO for display > > in my grid, but there's domain logic I would love to include in the > > grid, and I'd hate to replicate it. > > > Thanks! > > > -- > > 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.
