Npgsqlコマンドにこのパラメーター化されたクエリがあります。
UPDATE raw.geocoding
SET the_geom = ST_Transform(ST_GeomFromText('POINT(:longitude :latitude)', 4326),3081)
WHERE id=:id
:longutide
と:latitude
はdoubleであり、id
intです。
DBに対して実際に実行されるクエリは次のようになります。
UPDATE raw.geocoding
SET the_geom = ST_Transform(ST_GeomFromText('POINT(((E'-96.6864379495382')::float8) ((E'32.792527154088')::float8))', 4326),3081)
WHERE id=((10793455)::int4)
ここでErwinBrandstetterの助けを借りて、PostGISで動作するようにクエリを単純化する必要があることは明らかです。彼はこれを提案しました:
UPDATE raw.geocoding
SET the_geom = ST_Transform(ST_GeomFromText(
$$POINT(:longitude :latitude)$$::geometry, 4326), 3081)
WHERE id = :id
動的クエリでこれを作成できると思います。実行するたびに手動でクエリを更新しますが、Npgsqlパラメーター化クエリでこれを機能させる方法はありますか?