Skip to content

Can't infer NpgsqlDbType for type XXX" exception when trying to pass composite type array as parameter from c# code for postgreSQL function. #2120

@adityarana3

Description

@adityarana3

Steps to reproduce

Code Sample:
register composite type in constructor

NpgsqlConnection.GlobalTypeMapper.MapComposite<CompositeTypeOption>("composite_type");

**code in function:**

```c#
var compositeTypeOption= new List<CompositeTypeOption>();
foreach (DataRow row in datatable.Rows)
{
    compositeTypeOption.Add(new FileFilterOption { filterextensions = row["filterextensions"].ToString(), filtertypes = row["filtertypes"].ToString(), filtername = row["filtername"].ToString() });
}

var parameters = new[]
{
    new NpgsqlParameter("par_id", workkardId),
    new NpgsqlParameter{ParameterName = "par_composit_type",Direction = ParameterDirection.Input,Value =compositeTypeOption.ToArray() ,DataTypeName="composite_type"}
};

var entity = ExecuteComplexQuery<WorkkardFileView>("postgres_function_name", CommandType.StoredProcedure, parameters);

The issue

*message : System.NotSupportedException
Can't infer NpgsqlDbType for type CompositeTypes.CompositeTypeOption

Exception message:
Stack trace:


### Further technical details

Npgsql version: 4.0.2.0
PostgreSQL version: PostgreSQL 10.3 (Ubuntu 10.3-1.pgdg16.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609, 64-bit
Operating system: Ubuntu 


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions