PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Array tipe komposit sebagai input prosedur tersimpan yang diteruskan oleh C# Npgsql

Memetakan Jenis CLR Anda

Masih mungkin, dan dalam beberapa kasus diperlukan, untuk menyiapkan pemetaan eksplisit untuk tipe CLR Anda. Melakukannya memberikan keuntungan berikut:

Anda tahu lagi perlu menentukan properti DataTypeName pada parameter Anda. Npgsql akan menyimpulkan tipe data dari tipe CLR yang Anda berikan.

Metode baca yang tidak diketik seperti NpgsqlDataReader.GetValue() akan mengembalikan tipe CLR Anda, bukan objek dinamis (lihat di bawah). Secara umum Anda harus menggunakan NpgsqlDataReader.GetFieldValue() yang diketik, jadi ini seharusnya tidak penting.

Anda dapat menyesuaikan pemetaan nama pada basis per-jenis (lihat di bawah). Untuk menyiapkan pemetaan global untuk semua koneksi Anda, letakkan kode ini sebelum pembukaan pertama Anda:

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

Jika Anda tidak ingin menyiapkan pemetaan untuk semua koneksi Anda, Anda dapat mengaturnya hanya untuk satu koneksi:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa saya mendapatkan sintaks input yang tidak valid untuk tipe integer di postgresql saat mengimpor CSV?

  2. Cara Mengkapitalkan Huruf Pertama Setiap Kata di PostgreSQL

  3. Kesalahan sintaks input tidak valid untuk integer untuk non-integer?

  4. Pelatihan PostgreSQL untuk MySQLer

  5. array_agg untuk Tipe Array