Wie verwende ich DbGeography.Filter in Linq mit Entity Framework 5?

Mit Entity Framework 5 ist es möglich, die SQL Server Spatial-Prozeduren in Linq-Abfragen zu verwenden.

Mit einem DbGeography-Objekt können Sie beispielsweise die Methode "Buffer ()" verwenden, die in SQL Server in STBuffer übersetzt wird. Ebenso wird Intersects () in STIntersects übersetzt.

Dies ist eine Beispielabfrage, die funktioniert:

  var point = DbGeography.FromText(string.Format("POINT({1} {0})", latitude, longitude), 4326);
  var query = from person in persons
              let region = point.Buffer(radius)
              where person.Location.Intersects(region)
              select person;

Ich würde das gerne nutzenFilter Möglichkeit (da dies Ihre Abfragen beschleunigen kann, wenn Genauigkeit nicht Ihr Hauptanliegen ist, wie hier ausgeführt:http://www.pauldmendoza.com/post/SQL-Server-Filter-vs-STInterects.aspx) Ich kann jedoch nicht herausfinden, wie dies in EF5 funktioniert. Ist das möglich? Und wenn ja, wie?

Ich verwende SQL Server 2008 R2.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage