コード例 #1
0
ファイル: QueryBuilder.cs プロジェクト: gcanossa/N4pper
        public IRel Rel <T>(Symbol symbol, IDictionary <string, object> param = null) where T : class
        {
            symbol = symbol ?? throw new ArgumentNullException(nameof(symbol));
            param  = param ?? new Dictionary <string, object>();

            if (Rels.ContainsKey(symbol))
            {
                throw new ArgumentException($"Relationship symbol already present '{symbol}'", nameof(symbol));
            }
            if (Nodes.ContainsKey(symbol))
            {
                throw new ArgumentException($"Symbol already used for node '{symbol}'", nameof(symbol));
            }

            Rel r = new Rel(symbol, typeof(T), param);

            Rels.Add(symbol, r);
            _symbols.Add(symbol);
            return(r);
        }
コード例 #2
0
 public override string BuildForQuery()
 {
     return($"{Previous.BuildForQuery()}{Edge.ToCypherString()}{Rel.BuildForQuery()}");
 }
コード例 #3
0
 public IRel SetType(Type type)
 {
     Rel.SetType(type);
     return(this);
 }
コード例 #4
0
 public IRel SetSymbol(Symbol symbol)
 {
     Rel.SetSymbol(symbol);
     return(this);
 }
コード例 #5
0
        public IRel Lengths(int?min = null, int?max = null)
        {
            Rel.Lengths(min, max);

            return(this);
        }