Esempio n. 1
0
        public void WriteToJson(Utf8JsonWriter writer, WritedObjects objrefs)
        {
            writer.WriteBoolean(nameof(OrderByDesc), OrderByDesc);

            writer.WritePropertyName(nameof(Indexes));
            if (!HasIndexes)
            {
                writer.WriteEmptyArray();
            }
            else
            {
                writer.Serialize(Indexes.Where(t => t.PersistentState != Data.PersistentState.Deleted).ToArray(), objrefs);
            }

            //写入分区键集合
            writer.WritePropertyName(nameof(PartitionKeys));
            writer.WriteStartArray();
            if (HasPartitionKeys)
            {
                for (int i = 0; i < PartitionKeys.Length; i++)
                {
                    writer.WriteStartObject();
                    writer.WriteNumber("MemberId", PartitionKeys[i].MemberId);
                    writer.WriteBoolean("OrderByDesc", PartitionKeys[i].OrderByDesc);
                    writer.WriteNumber("Rule", (int)PartitionKeys[i].Rule);
                    writer.WriteNumber("RuleArg", PartitionKeys[i].RuleArgument);
                    writer.WriteEndObject();
                }
            }
            writer.WriteEndArray();
        }