Wywołanie funkcji zdefiniowanej przez użytkownika SQL w zapytaniu LINQ

Trudno mi to zrobić. Próbuję wykonać wyszukiwanie promienia za pomocą następującego pomocnika filtru na IQueryable. Istnieje zestaw innych filtrów, które są stosowane przed zastosowaniem RadiusSearch. Kolejność nie powinna mieć znaczenia, ponieważ celem jest odroczenie zapytania do operacji ToList ().

public static IQueryable<ApiSearchCommunity> RadiusSearch(this IQueryable<ApiSearchCommunity> communities)
{
    var centerLatitude = 30.421278;
    var centerLongitude = -97.426261;
    var radius = 25;

    return communities.Select(c => new ApiSearchCommunity()
    {
        CommunityId = c.CommunityId,
        City = c.City,
        //Distance = c.GetArcDistance(centerLatitude, centerLongitude, c.Latitude, c.Longitude, radius)
    });
}

Czy mogę jakoś napisać pomocnika takiego jak GetArcDistance, powyżej którego z kolei wywołuje UDF na SQL? Zapytanie, które próbuję wygenerować, jest następujące

SELECT 
    comms.community_id, 
    comms.city, 
    comms.distance 
FROM (
    SELECT 
        c.community_id, 
        c.city, 
        dbo.udf_ArcDistance(
            30.421278,-97.426261, 
            c.community_latitude,
            c.community_longitude
        ) AS distance 
    FROM communities c) AS comms 
WHERE comms.distance <= 25 
ORDER BY comms.distance

questionAnswers(2)

yourAnswerToTheQuestion