public void CreateCollectionViewModel() { Func <IRepositoryQuery <TEntity>, IQueryable <TProjection> > projection = null; if (constructProjectionCallBackFunc != null) { projection = constructProjectionCallBackFunc(); } this.collectionViewModel = CollectionViewModel <TEntity, TProjection, TPrimaryKey, TUnitOfWork> .CreateCollectionViewModel(this.unitOfWorkFactory, this.getRepositoryFunc, projection); this.collectionViewModel.OnEntitiesLoadedCallBack = OnEntitiesFirstLoaded; this.collectionViewModel.OnEntitiesChangedCallBack = collectionViewModelChangedCallBack; this.collectionViewModel.Entities.ToList(); }