Entity Framework Core 1.0で地理操作をSQL Serverにオフロードする方法

entity-framework-core geospatial spatial sql-server

質問

地理データ型がまだサポートされておらず、ストアドプロシージャでもない場合、Entity Framework Coreを使用してSQL Serverに格納された地理データを消費する方法

受け入れられた回答

これが私のやり方です。明らかに、DbGeographyタイプの機能は得られませんが、単純なクエリでは十分です。

  public async Task<List<PointOfInterest>> Execute(double latitude, double longitude, int radius)
        {
            return await this.context.PointsOfInterest.FromSql(

            "DECLARE @point geography = geography::Point(@p0, @p1, 4326); " +

            "SELECT Id, DateAdded, Latitude, Longitude " +
            "FROM dbo.PointsOfInterest " +
            "WHERE @point.STDistance(Location) <= @p2",
            longitude,
             latitude,
            radius).ToListAsync();
        }


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ