コード例 #1
0
        public SqlSelect From(OrientDBEntity entity)
        {
            if ((entity.ORID == null) && string.IsNullOrEmpty(entity.OClassName))
            {
                throw new OrientDBException(OrientDBExceptionType.Query, "Document doesn't contain ORID or OClassName value.");
            }

            _sqlQuery.From(entity.OClassName);

            return(this);
        }
コード例 #2
0
        public static DictionaryOrientDBEntity ToDictionaryOrientDBEntity(this OrientDBEntity entity)
        {
            DictionaryOrientDBEntity dentity = new DictionaryOrientDBEntity();
            var properties = entity.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            foreach (var property in properties)
            {
                dentity.SetField(property.Name, property.GetValue(entity));
            }
            return(dentity);
        }
コード例 #3
0
        internal void From(OrientDBEntity document)
        {
            if (!string.IsNullOrEmpty(document.OClassName))
            {
                From(document.OClassName);
            }

            if (document.ORID != null)
            {
                From(document.ORID);
            }
        }
        private object SerializeEntity(OrientDBEntity input)
        {
            StringBuilder stringBuilder = new StringBuilder();

            PropertyInfo[] properties = input.GetType().GetProperties();

            if (properties.Any())
            {
                foreach (PropertyInfo propertyInfo in properties)
                {
                    switch (propertyInfo.Name)
                    {
                    case "OClassName":
                        continue;

                    case "ORID":
                        continue;

                    case "OVersion":
                        continue;

                    case "OClassId":
                        continue;

                    default:
                        if ((!string.IsNullOrWhiteSpace(propertyInfo.Name)) && (propertyInfo.Name[0] != '@'))
                        {
                            if (stringBuilder.Length > 0)
                            {
                                stringBuilder.Append(",");
                            }

                            stringBuilder.AppendFormat("{0}:{1}", propertyInfo.Name, SerializeValue(propertyInfo.GetValue(input), propertyInfo.PropertyType));
                        }
                        break;
                    }
                }
            }

            return(stringBuilder.ToString());
        }
コード例 #5
0
 public DatabaseTransactionRequest(TransactionRecordType recordType, OrientDBEntity entity, IOrientDBRecordSerializer <byte[]> serializer)
 {
     _entity     = entity;
     _recordType = recordType;
     _serializer = serializer;
 }
コード例 #6
0
ファイル: SqlUpdate.cs プロジェクト: thomas-tran/OrientDB.Net
 public SqlUpdate Record(OrientDBEntity document)
 {
     return(Record(document.ORID));
 }
コード例 #7
0
 public SqlDeleteDocument Record(OrientDBEntity document)
 {
     return(Record(document.ORID));
 }