linq to sql - online - Usando Linq a Sql para encontrar ZipCodes dentro de la distancia Radius
linq where in list c# (1)
Lo descubrí y en realidad no fue tan difícil una vez que encontré la ecuación.
Public Function SearchStudents(ByVal SearchZip As String, ByVal Miles As Double) As IEnumerable(Of Student)
Dim dc As New IMDataContext()
Dim lat As Double
Dim lng As Double
Dim maxlat As Double
Dim minlat As Double
Dim maxlng As Double
Dim minlng As Double
Dim zip As ZipCode = (From z In dc.ZipCodes Where z.ZipCode = SearchZip).SingleOrDefault()
lat = zip.Latitude
lng = zip.Longitude
maxlat = lat + Miles / 69.17
minlat = lat - (maxlat - lat)
maxlng = lng + Miles / (Math.Cos(minlat * Math.PI / 180) * 69.17)
minlng = lng - (maxlng - lng)
Dim ziplist = From z In dc.ZipCodes Where z.Latitude >= minlat _
And z.Latitude <= maxlat _
And z.Longitude >= minlng _
And z.Longitude <= maxlng Select z.ZipCode
Return From i In dc.Students Where ziplist.Contains(i.Zip)
End Function
Tengo una tabla de base de datos de códigos postales con sus Lat / Longs. Estoy tratando de encontrar algún código que muestre una consulta que tome un código postal y x millas y luego devuelva un conjunto de resultados que incluyen todos los códigos postales que están dentro de ese radio (la precisión no es muy importante, siempre y cuando esté cerca).
¿Se puede hacer esto con una consulta de Linq a SQL, así que no tengo que usar un procedimiento almacenado?