That is why Microsoft creates LINQ in .NET 3.5. However up-to-now, you cannot redistribute .NET 3.5 because it is a Beta. So try a nice third party product may be an alternative.
Why I chose Karvonite?
I downloaded Karvonite May Preview to see if it meets my requirement for CBC. In order to enhance PropertyRegistry unit I need some library who can persist collections. Basic classes in .NET framework fail to provide a solution.
BTW, Karvonite is free although not Free As the Freedom.
Manual And Sample
While I was still reading the manual, I found some information was missing. Yes, object library was mentioned several times but there was no line about how to create one.
It is normal because Karvonite is still a Preview, and the sample project illustrates so many aspects which is a good starting point.
I am sure that Karvonite can help to make CBC better manage preferences in collections form. The only shortage is that object library is not in XML format so manual editing is hard.
I have planned to use Karvonite in CBC GrapeVine but not yet decided in which Milestone version. It depends on when I could afford time and energy on this topic. I believe Karvonite can save me a lot of time later but now I have to master it before any further actions.
Thanks for creating this free library, AdventurerLand. Hope I can download the final version soon.
(Update: AdventurerLand may provide LINQ for Karvonite once .NET 3.5 is released. Good news.
And AdventurerLand is still a Borland/CodeGear Technology Partner. I guess it forgets to add a BTP banner on its homepage.
When I browse for AdventurerLand here, I find its registered product is Lab Technology.NET. You can see the description is valid for Karvonite. So I believe Karvonite is the "Lab Technology.NET". BTW, I think Karvonite is a better name.)