I finally started to understand some of the suggestions I had read to fix the problem.
I had been told to use a View object, but I interpreted this to mean that the ReportItem should be a view object. I didn't see how this would fix the problem - and it didn't. However - the problem can be fixed if the object you're binding to a list is a View object, because then the whole proxy/non-proxy issue is transparent to the ComboBox. I've written about this in more detail here: http://stackoverflow.com/questions/8981648/binding-a-collection-of-objects-to-a-comboboxcolumn-in-a-datagridview/8997797#8997797 . I would still welcome any feedback/suggestions for other ways to fix this problem. Thanks again! On Jan 24, 8:42 pm, Doc Saintly <[email protected]> wrote: > I am converting a desktop application from code that manually executes > SQL statements etc. to NHibernate. I am following the philosophy that > Ayende shows in his To Do List application. However, I am having > issues with binding a DataGridViewComboBoxColumn to a list of objects > returned from the NHibernate ISession. > > In the main GUI the user selects the Item they want to work with. When > they select the Item, another GUI opens up with its own ISession. This > session is disposed of once the user is done using the Item editing > GUI. > > This GUI allows the user to select a Report, which will then show > potentially hundreds of ReportItems in a DGV. These ReportItems have > references to other objects so I have pre-queried all the lookup > lists. Before I even query for the Item in question, I query all of > the Owners (approximately 8), as well as everything else I need. > > Because there are not many items in the 4-5 look-up lists, I figured > it would be better to pre-fetch them than to have the ReportItems or > Reports get them lazily. > > The problem is that one of the columns the user is allowed to edit > (Owner) is a ComboBoxColumn. They are allowed to pick from the list to > change what the owner of the ReportItem should be. This causes issues > because the IList(of Owner) returned by NHibernate contains some > OwnerProxy objects, and some Owner objects. I have tried all methods > of eager loading and fetching, but I still get a mixed set of object > types. > > I have seen a solution to this > here:http://code.google.com/p/systembusinessobjects/source/browse/trunk/Sy... > . This code basically takes an IList from NHibernate and makes sure > that it contains all proxy objects, or all regular objects. > Unfortunately, this code seems to be for an older version of > NHibernate (I'm using 3.2.0.4) and the code relies on the Castle proxy > generator. > > Is there a more elegant solution to this now? Or is there perhaps a > way to get around the Castle dependency in that code? > > I look forward to your help, and thank you in advance. I have been > beating my head against the wall on this for a while. -- 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.
