private ObjectGraphType CreateQuery() { var entityFields = new List <FieldType>(_dataAdapter.EntitySetAdapters.Count); foreach (Db.OeEntitySetAdapter entitySetAdapter in _dataAdapter.EntitySetAdapters) { Type entitySetResolverType = typeof(OeEntitySetResolver <>).MakeGenericType(entitySetAdapter.EntityType); var entitySetResolver = (IFieldResolver)entitySetResolverType.GetConstructors()[0].Invoke(new Object[] { _dataAdapter, _edmModel }); FieldType entityField = new FieldType() { Name = entitySetAdapter.EntitySetName, Resolver = entitySetResolver, ResolvedType = _graphTypeBuilder.CreateListGraphType(entitySetAdapter.EntityType) }; entityFields.Add(entityField); } var query = new ObjectGraphType(); foreach (FieldType entityField in entityFields) { _graphTypeBuilder.AddNavigationProperties(entityField); query.AddField(entityField); } return(query); }
private ObjectGraphType CreateQuery() { var entityFields = new List <FieldType>(CreateEntityFields(_edmModel, _graphTypeBuilder)); foreach (IEdmModel refModel in _edmModel.ReferencedModels) { if (refModel.EntityContainer != null) { entityFields.AddRange(CreateEntityFields(refModel, _graphTypeBuilder)); } } var query = new ObjectGraphType(); foreach (FieldType entityField in entityFields) { _graphTypeBuilder.AddNavigationProperties(entityField); query.AddField(entityField); } return(query); }