In my earlier post I talked about the lazy observable collection I created so that I could lazy load an observable collection so that I wasn't loading the entire collection until it was absolutely necessary. As a companion to that piece of work I also created a lazy read only observable collection. This brings the same features as the lazy observable collection except with advantage, depending on your viewpoint, of being read only.
As part of a project I've been working on recently I needed to bind a potentially quite large collection to a listbox, due to the unknown size of the collection I didn't want to load it into memory until I actually had to. To get around this problem I decided to create a new lazy observable collection class that would leverage the power of IQueryable to delay loading of the collection until it's actually required.