Я включил Microsoft.SqlServer.Types
для включения типов географии и геометрии в Entity Framework, но я не вижу функций, эквивалентных STContains()
.
Мне нужно сделать запрос для получениягеография, которая содержит точку
В SQL я написал так:
SELECT adm1code, adm1name
FROM Adm2GeoBoundaries
WHERE Coords.STContains(geography::Parse('POINT(-121.703796 46.893985)'));
в LINQ Я ожидаю что-то вроде
using (GeoEntities db = new GeoEntities ())
{
DbGeography location = DbGeography.FromText("POINT(-121.703796 46.893985)");
var admin = from a in db.Adm2GeoBoundaries
where a.Coords.STContains(location)
select a;
}
, но a.Coords.STContains(location)
выдаетошибка
Метод STContains не существует