query online new ejemplos linq-to-sql zipcode

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?