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(); }