private IDictionary <string, Relationship> GenerateRelationships(object instance, IResourceMapping mapping) { var relationNames = mapping.GetRelationNames().ToList(); if (!relationNames.Any()) { return(null); } var relationships = new Dictionary <string, Relationship>(); foreach (var relationName in relationNames) { var relationTypeName = _configuration.ResourceConfigurations[mapping.GetResourceTypeOfRelation(relationName)]?.TypeName; if (relationTypeName == null) { throw new JsonApiException(CausedBy.Server, $"Resource type for relation {relationName} is not configured"); } var value = mapping.GetRelationValue(instance, relationName); if (value == null) { return(null); } if (value is Guid) { relationships.Add(relationName, new Relationship(relationTypeName, (Guid)value)); } else if (value is IEnumerable <Guid> ) { relationships.Add(relationName, new Relationship(relationTypeName, (IEnumerable <Guid>)value)); } } return(relationships); }