I have called function from postgres & output is like
I am using windows form to display data, i have used npgsql for connecting c# and postgres d.b. my BL class function is given below
public List<User> view_data()
{
NpgsqlDataReader rdr;
List<User> lstUser = new List<User>();
if (con.State == ConnectionState.Closed)
{
con.Open();
}
NpgsqlCommand command = new NpgsqlCommand("select * from public.get_user_details", con);
rdr = command.ExecuteReader();
while (rdr.Read())
{
lstUser.Add(new User()
{
id = rdr.GetInt16(Convert.ToString(rdr["id"])),
roleName = rdr.GetString(Convert.ToString(rdr["rolename"])),
firstName = rdr.GetString(rdr.GetOrdinal("firstname")),
lastName = rdr.GetString(rdr.GetOrdinal("lastname"))
});
}
rdr.Close();
return lstUser;
}
Getting error on rolename. error is cannot convert string to string[]
my User class is given below
public class User
{
public int id
{ get; set; }
public string firstName
{ get; set; }
public string lastName
{ get; set; }
public string email
{ get; set; }
public string userName
{ get; set; }
public string[] roleName
{ get; set; }
}
My question is how to assign text array data in c# using npqsql data reader?
Getting error on this area => roleName = rdr.GetString(Convert.ToString(rdr["rolename"]))
postgres gives role name output is text array. ie; in one column contains multiple values. ie; {admin,user}. So need to set postgres text array into c# format using data reader.

public string[] roleName { get; set; }topublic string roleName { get; set; }