The fact that it is a LINQ result might perhaps not be relevant for the question, but I\'m mentioning it anyway - since this is the context which has resulted in this questi
I wrote this library a few years ago.
https://github.com/wasabii/OLinq
It doesn't do exactly what you probably want, it does more. It's a Linq query provider which parses the expression tree, attaches to the referenced collections, and exposes another collection which emits events upon changes.
It's missing a few Linq operators. But the code base is not hard to extend.