public static ExplainOptions FromProto(ExplainOptions proto)
Creates a new instance based on the Protobuf Google.Cloud.Firestore.V1.ExplainOptions representation.
Later modifications to the Protobuf representation will not affect the returned oject.
Parameter
Name
Description
proto
Google.Cloud.Firestore.V1.ExplainOptions
The underlying Protobuf representation. Must not be null.
A new instance wrapping a clone of the protobuf message.
ToProto()
public ExplainOptions ToProto()
Creates a Protobuf Google.Cloud.Firestore.V1.ExplainOptions representation of this
set of options. Modifications to the returned message will not be reflected in this object.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the \u003ccode\u003eExplainOptions\u003c/code\u003e class for the Firestore API is 3.10.0, with documentation available for previous versions dating back to 2.3.1.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eExplainOptions\u003c/code\u003e is a class within the \u003ccode\u003eGoogle.Cloud.Firestore\u003c/code\u003e namespace used to configure how query explanations are generated, allowing for planning-only or planning-and-execution analysis.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAnalyze\u003c/code\u003e property, when set to true, enables both planning and execution of a query, providing full metrics, while false (default) only plans the query, providing planning stage metrics.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ePlanOnly\u003c/code\u003e is a static property that provides options for planning a query without execution, while \u003ccode\u003ePlanAndExecute\u003c/code\u003e provides options for both planning and executing a query.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eExplainOptions\u003c/code\u003e instances can be created from and converted to their Protobuf representation using the \u003ccode\u003eFromProto\u003c/code\u003e and \u003ccode\u003eToProto\u003c/code\u003e methods respectively, ensuring no data is lost in the conversion process.\u003c/p\u003e\n"]]],[],null,["# Firestore API - Class ExplainOptions (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Google.Cloud.Firestore/latest/Google.Cloud.Firestore.ExplainOptions)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.9.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.8.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.7.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.6.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.5.1](/dotnet/docs/reference/Google.Cloud.Firestore/3.5.1/Google.Cloud.Firestore.ExplainOptions)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.4.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.3.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.2.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.1.0/Google.Cloud.Firestore.ExplainOptions)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.0.0/Google.Cloud.Firestore.ExplainOptions)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Firestore/2.5.0/Google.Cloud.Firestore.ExplainOptions)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Firestore/2.4.0/Google.Cloud.Firestore.ExplainOptions)\n- [2.3.1](/dotnet/docs/reference/Google.Cloud.Firestore/2.3.1/Google.Cloud.Firestore.ExplainOptions) \n\n public sealed class ExplainOptions\n\nReference documentation and code samples for the Firestore API class ExplainOptions.\n\nOptions for query explanations. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ExplainOptions \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Firestore](/dotnet/docs/reference/Google.Cloud.Firestore/latest/Google.Cloud.Firestore)\n\nAssembly\n--------\n\nGoogle.Cloud.Firestore.dll\n\nProperties\n----------\n\n### Analyze\n\n public bool Analyze { get; }\n\nWhether to execute this query.\n\nWhen false (the default), the query will be planned, returning only\nmetrics from the planning stages.\n\nWhen true, the query will be planned and executed, returning the full\nquery results along with both planning and execution stage metrics.\n\n### PlanAndExecute\n\n public static ExplainOptions PlanAndExecute { get; }\n\nOptions to plan and execute a query.\n\n### PlanOnly\n\n public static ExplainOptions PlanOnly { get; }\n\nOptions that only plan a query, without executing it.\n\nMethods\n-------\n\n### FromProto(ExplainOptions)\n\n public static ExplainOptions FromProto(ExplainOptions proto)\n\nCreates a new instance based on the Protobuf Google.Cloud.Firestore.V1.ExplainOptions representation.\nLater modifications to the Protobuf representation will not affect the returned oject.\n\n### ToProto()\n\n public ExplainOptions ToProto()\n\nCreates a Protobuf Google.Cloud.Firestore.V1.ExplainOptions representation of this\nset of options. Modifications to the returned message will not be reflected in this object."]]