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