Я хочу написать оператор соединения в LINQ, используя метод dbgeography "Intersects" (я использую EF June 2011 CTP). Проблема в том, что если я напишу что-то вроде этого:
var joinQuery = from spQ in spatialTableQuery
join mnQ in MainQuery
on spQ.Polygon.Intersects(mnQ.PointGeography) equals 1
Я получаю следующую ошибку:
Имя 'mnQ' не находится в области видимости слева от 'equals'. Рассматривать
поменять местами выражения с обеих сторон «равно».
В SQL я написал запрос, аналогичный приведенному ниже, поэтому я знаю, что SQL поддерживает его:
SELECT * FROM Address a
INNER JOIN SPATIALTABLE b
WITH(INDEX(geog_sidx))
ON b.geom.STIntersects(a.PointGeography) = 1