Programmatisch den vorgeschlagenen SQL Server-Abfrageplan für eine bestimmte Ausführung von SQL lesen?

Wenn ich diesen Befehl in SSMS ausführe:

set showplan_xml on
GO
exec some_procedure 'arg1', 'arg2','arg3'
GO
set showplan_xml off
GO

Ich erhalte eine XML-Ausgabe des gesamten Aufrufstapels, der an der Ausführung der Abfrage beteiligt ist, sowie alle vorgeschlagenen Indizes usw.

Wie könnte man das aus C # lesen?

(Ein Anwendungsfall kann darin bestehen, dies regelmäßig zu aktivieren und diese Ergebnisse in einer Produktionsumgebung zu protokollieren, um Indexvorschläge im Auge zu behalten.)