internal void Enumerate(IDbCommand query, Action <IDataReader> onRecord, CommandBehavior executionHint = CommandBehavior.Default) { Database.PrepaireRemoteExecution(query); try { if (ThreadSave) { Monitor.Enter(_lockRoot); } CommandProcessor.Enumerate(this, query, onRecord, executionHint); } finally { if (ThreadSave) { Monitor.Exit(_lockRoot); } } }