sql >> データベース >  >> RDS >> PostgreSQL

C#Npgsqlによって渡されたストアドプロシージャ入力としての複合型の配列

    CLRタイプのマッピング

    CLRタイプの明示的なマッピングを設定することは可能であり、場合によっては必要です。そうすることで、次の利点が得られます。

    パラメータにDataTypeNameプロパティを指定する必要がなくなったことを知っています。 Npgsqlは、指定されたCLRタイプからデータタイプを推測します。

    NpgsqlDataReader.GetValue()などの型指定されていない読み取りメソッドは、動的オブジェクトではなく、CLR型を返します(以下を参照)。一般に、型指定されたNpgsqlDataReader.GetFieldValue()を使用する必要があるため、これは重要ではありません。

    タイプごとに名前マッピングをカスタマイズできます(以下を参照)。すべての接続のグローバルマッピングを設定するには、最初に開く前に次のコードを配置します。

     NpgsqlConnection.GlobalTypeMapper.MapEnum<SomeEnum>("some_enum");
     NpgsqlConnection.GlobalTypeMapper.MapComposite<SomeType>("some_composite");
    

    すべての接続にマッピングを設定したくない場合は、1つの接続のみを設定できます:

    var conn = new NpgsqlConnection(...);
    conn.TypeMapper.MapEnum<SomeEnum>("some_enum");
    conn.TypeMapper.MapComposite<SomeType>("some_composite");
    

    http://www.npgsql.org/doc/types/enums_and_composites.html




    1. mysqlのmax(length(field))

    2. CS50:LIKE演算子、%展開による変数置換

    3. Oracle ORA-04068で頻繁に発生するエラー:パッケージの既存の状態が破棄されました

    4. エラー1356(HY000):ビュー'mysql.user'が無効なテーブルまたは列または関数を参照しているか、ビューの定義者/呼び出し元にそれらを使用する権限がありません