でpostgresにするために労働組合を判別し、私はF#の側では1〜5の間を格納する必要がありますフィールドを持つPG内のテーブルを持っている私は、この列挙を持っている:がNpgsqlの
type PriceTier =
| P1
| P2
| P3
| P4
| P5
IタイププロバイダやORMなしでnpgsqlを直接使用しています。私はパラメータを指定してコマンドを送信する場合:
let build (row:CustomerRecord) =
[P("@code", row.code);.... P("@defaultPrice", row.defaultPrice);....]
私はエラーを取得:タイプではないので
NpgsqlConnection.MapEnumGlobally<PriceTier>();
しかし、これは動作しません:
The CLR type Models+PriceTier isn't supported by Npgsql or your PostgreSQL. If you wish to map it to a PostgreSQL composite type you need to register it before usage, please refer to the documentation.
だから私は、http://www.npgsql.org/doc/types/enums_and_composites.htmlを読んでみませんか真の列挙型ですが、F#型です。だから、
、私はここで2つの質問があります。
- 列挙型に変換せずにそのままであるF#型を使用することは可能ですか? >のIntせずに手動で変換を行う -
- はPriceTier間をマッピングすることは可能ですか?
PGテーブルをENUMフィールドでも作成できますか? PgはENUM ie、P1のF#名を取得していますか、それとも数値表現を取得していますか? –
あなたの型定義はenumではありません。差別化された組合 –
@Evan Carrollは数値表現を使用しています – mamcx