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.