将SQL地理转换为C#

这个地理空间T-sql代码的C#相当于什么?
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('polyGON((-122.358 47.653,-122.348 47.649,-122.348 47.658,-122.358 47.658,-122.358 47.653))',4326);
SET @h = geography::Point(47.653,-122.358,4326)

SELECT @g.STIntersects(@h)

我试图使用sqlgeometry数据类型在多边形中找到一个点,并且可以使用上述T-sql;但是我不明白如何实现等效的C#代码.

解决方法

尝试这个:
public bool OneOffSTIntersect()
{
    var g =
        Microsoft.sqlServer.Types.sqlGeography.STGeomFromText(
            new System.Data.sqlTypes.sqlChars(
                "polyGON((-122.358 47.653,-122.358 47.653))"),4326);
    // suffix "d" on literals below optional but explicit
    var h = Microsoft.sqlServer.Types.sqlGeography.Point(47.653d,-122.358d,4326);

    // rough equivalent to SELECT
    System.Console.WriteLine(g.STIntersects(h));

    // Alternatively return from a C# method or property (get).
    return g.STIntersects(h);
}

MSDN的SqlGeography Methods页面链接到T-sql中关键调用的每个C#等效信息的信息 – 例如. STIntersects.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...