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); } }
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); }