PostgreSQL
 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");

Ако не искате да настроите съпоставяне за всичките си връзки, можете да го настроите само за една връзка:

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. Агрегирайте функции в множество колони в postgres

  2. Изберете клетки от ред като нови колони

  3. Функциите за връщане на набор не са разрешени в UPDATE, когато се използва Postgres 10

  4. Как да използвам задействания „за изявление“ в postgres?

  5. Грешка в PostGIS:Не може да се избере функция с най-добър кандидат