I am getting reports that connection pooling is not working in the Subsonic orm when used with sql server on a remote machine. I\'m not sure how they are monitoring this, maybe
There is a way for a connection to remain open when using SubSonic. Many people assume that when you load a collection the reader will be closed for you - but it's not (a class should never act on another class without permission). There is a method called "LoadAndCloseReader()" just for this reason.
If you could find out more that would be great.
Does this mean that SubSonic's connections are persistent by default?
This is something i only recently discovered myself after having similar issues.
As Rob said it should not be used like this:
MyTableCollection objCol = new MyTableCollection().Load();
it should be used like:
MyTableCollection objCol = new MyTableCollection();
objCol.LoadAndCloseReader(MyTable.FetchAll());
I'm not sure about the earlier versions, but in 2.1, AbstractList.Load() already uses LoadAndCloseReader(rdr) wrapped in a using statement.