Esempio n. 1
0
        private static void Build(IEdmModel edmModel, OeModelBoundSettingsBuilder modelBoundSettingsBuilder, int pageSize, bool navigationNextLink)
        {
            if (edmModel.EntityContainer != null)
            {
                foreach (IEdmEntitySet entitySet in edmModel.EntityContainer.EntitySets())
                {
                    IEdmEntityType entityType = entitySet.EntityType();
                    modelBoundSettingsBuilder.SetPageSize(pageSize, entityType);

                    foreach (IEdmNavigationProperty navigationProperty in entityType.NavigationProperties())
                    {
                        if (navigationProperty.Type.IsCollection())
                        {
                            if (navigationNextLink)
                            {
                                modelBoundSettingsBuilder.SetNavigationNextLink(navigationNextLink, navigationProperty);
                            }
                        }
                    }
                }
            }

            foreach (IEdmModel refModel in edmModel.ReferencedModels)
            {
                Build(refModel, modelBoundSettingsBuilder, pageSize, navigationNextLink);
            }
        }
Esempio n. 2
0
        public static OeModelBoundProvider?CreateModelBoundProvider(IEdmModel edmModel, int pageSize, bool navigationNextLink)
        {
            if (pageSize > 0 || navigationNextLink)
            {
                var modelBoundSettingsBuilder = new OeModelBoundSettingsBuilder();
                Build(edmModel, modelBoundSettingsBuilder, pageSize, navigationNextLink);
                return(modelBoundSettingsBuilder.Build());
            }

            return(null);
        }