Wenn die Leistung ist von Bedeutung, die bekannte binäre anstelle des bekannten Text verwendet werden soll:
var newGeography = DbGeography.FromBinary(theGeography.STAsBinary().Value);
Es ist eine Überlastung mit eine SRID, wenn das wichtig ist. In meinem einfachen Test mit 1000 einigermaßen komplizierten Polygone des binäre basierten Ansatz ist 4-mal schneller als die textbasierte:
* Binary-based conversion
Run 1: 1948
Run 2: 1944
Run 3: 1959
Run 4: 1979
Run 5: 1988
Average: 1963.6
* Text-based conversion
Run 1: 8527
Run 2: 8553
Run 3: 8596
Run 4: 8535
Run 5: 8496
Average: 8541.4
Ich bin eigentlich auf einem anderen Projekt, wo das wieder zurück kam, also danke, genau das, was ich suchte. – radpin
Ich habe dies einige Male empfohlen, aber die MakeValid-Methode scheint nicht zur Verfügung stehen auf SqlGeography Typ, wenn in .NET verwendet. Fehle ich etwas? – joelmdev
@ jm2 Wenn Sie auf Microsoft.SqlServer.Types verwiesen haben, sollte es für Sie verfügbar sein. –