protected void InitObjects() { if (objects == null) { objects = new List <Object>(); if (topReturnedObjectsCount == 0) { topReturnedObjectsCount = Int32.MaxValue; } IList <String> memberNames = propertyDescriptorCollection.DisplayableMembers.Split(new String[] { ";" }, StringSplitOptions.RemoveEmptyEntries); IEnumerable queryable = objectSpace.GetObjects(objectType, memberNames, criteria, sorting, topReturnedObjectsCount); try { foreach (Object obj in queryable) { if (!objectSpace.IsObjectToDelete(obj)) { objects.Add(obj); } } } catch (Exception exception) { SqlException sqlException = NHObjectSpace.GetSqlException(exception); if ((sqlException != null) && (sqlException.Number == NHObjectSpace.UnableToOpenDatabaseErrorNumber)) { throw new UnableToOpenDatabaseException("", exception); } else { throw; } } } }