メインメニューを開く

Mono/NpgsqlとDapperで幾何データ型にプリペアドする

< Mono
2016年5月20日 (金) 04:33時点におけるimported>Administratorによる版 (ページの作成:「NpgsqlDapperの組み合わせでPostgreSQLにアクセスする際には幾何データ型<ref>https://www.postgresql.jp/document/9.2/html/functions-geome...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

NpgsqlDapperの組み合わせでPostgreSQLにアクセスする際には幾何データ型[1]の省略表記が使えないようだ。 普段からpsqlやPgAdminなどでは省略表記しか使っていなかったため、これに気が付かず謎のエラーに悩まされ続けた。

正常編集

このような表記は問題ない。

con.Query<object>(
    "SELECT box( point(@X1,@Y1), point(@X2,@Y2) )", 
    new { X1 = 1, Y1 = 2, X2 = 3, Y2 = 4});

異常編集

一方で以下のような省略表記は実行時にエラーとなった。point型を明示せず省略するとプリペアド時の型を特定できずにエラーとなっているようだ。

con.Query<object>(
    "SELECT box((@X1,@Y1),(@X2,@Y2) )", 
    new { X1 = 1, Y1 = 2, X2 = 3, Y2 = 4});

目次

関連項目編集

参考文献編集