public static EntityCollectionView <T> ToRemoteCollectionView <T>(this IEntitySet <T> entitySet, TimeSpan requestDelay = default(TimeSpan)) where T : Entity { var queryable = entitySet.AsQueryable(); var loader = new RemoteDataLoader <T>(queryable); if (requestDelay != default(TimeSpan)) { loader.RequestDelay = requestDelay; } var collectionView = new EntityCollectionView <T>(loader); return(collectionView); }