public IOCreateEdge Edge <T>(T obj) { ODocument document; if (obj is ODocument) { document = obj as ODocument; } else { document = ODocument.ToDocument(obj); } string className = document.OClassName; if (typeof(T) == typeof(OEdge)) { className = "E"; } else if (string.IsNullOrEmpty(document.OClassName)) { throw new OException(OExceptionType.Query, "Document doesn't contain OClassName value."); } _sqlQuery.Edge(className); _sqlQuery.Set(document); return(this); }
public IOCreateVertex Set <T>(T obj) { var document = obj is ODocument ? obj as ODocument : ODocument.ToDocument(obj); // TODO: go also through embedded fields foreach (KeyValuePair <string, object> field in document) { // set only fields which doesn't start with @ character if ((field.Key.Length > 0) && (field.Key[0] != '@')) { Set(field.Key, field.Value); } } return(this); }
public IOCreateVertex Vertex <T>(T obj) { if (obj is ODocument) { _document = obj as ODocument; } else { _document = ODocument.ToDocument(obj); } if (string.IsNullOrEmpty(_document.OClassName)) { throw new OException(OExceptionType.Query, "Document doesn't contain OClassName value."); } return(this); }
public OSqlDeleteEdge To <T>(T obj) { ODocument document; if (obj is ODocument) { document = obj as ODocument; } else { document = ODocument.ToDocument(obj); } if (document.ORID == null) { throw new OException(OExceptionType.Query, "Document doesn't contain ORID value."); } _sqlQuery.To(document.ORID); return(this); }
public OSqlCreateVertex Vertex <T>(T obj) { ODocument document; if (obj is ODocument) { document = obj as ODocument; } else { document = ODocument.ToDocument(obj); } if (string.IsNullOrEmpty(document.OClassName)) { throw new OException(OExceptionType.Query, "Document doesn't contain OClassName value."); } _sqlQuery.Vertex(document.OClassName); _sqlQuery.Set(document); return(this); }
public ODocument ToDocument() { return(ODocument.ToDocument(this)); }