public FluentQueryBuilder RelateTo(IFactoryNode relatedFrom, IFactoryRelationship relationship, IFactoryNode relatedTo) { _relateToStack.AddLast(new RelateToQueueItem { RelatedFrom = relatedFrom, Relationship = relationship, RelatedTo = relatedTo}); return this; }
public FluentQueryBuilder Replace(IFactoryNode relatedFrom, IFactoryRelationship relationshipToRemove, IFactoryNode relatedTo, IFactoryNode createFrom, IFactoryRelationship createRelationship, IFactoryNode createTo, IFactoryNode property) { _replaceStack.AddLast(new ReplaceQueueItem { RelatedFrom = relatedFrom, RelationshipToRemove = relationshipToRemove, RelatedTo = relatedTo, CreateFrom = createFrom, CreateRelationship = createRelationship, CreateTo = createTo, Property = property }); return this; }
private void ProcessRelateTo(IFactoryNode relatedFrom, IFactoryRelationship relationship, IFactoryNode relatedTo) { if (relatedFrom == null || relatedTo == null) throw new ArgumentNullException("relatedFrom || relatedTo"); var relatedFromQueryItems = GetQueryNodeValue(relatedFrom); var relatedToQueryItems = GetQueryNodeValue(relatedTo); var createQuery = String.Format("{0}-{1}->{2}", relatedFromQueryItems, relationship.Relationship(), relatedToQueryItems); Add(QueryTypeEnum.Merge, createQuery); }