A simple example I can give you is the following: Let’s say I have to fetch all the customer data (which is not repeated) from my database.
// String de BUSCA SQL (No seu caso será o de UTILIZADOR)
private string SQL_CLIENTES = "SELECT DISTINCT *" +
    " FROM cliente";
// Abrindo/Recuperando uma conexão com NPGSQL (Caso não esteja instalado é necessário ir em TOOLS-> NUGET PACKAGE MANAGER -> MANAGE NUGET PACKAGE FOR SOLUTION -> PESQUISAR NPGSQL e INSTALAR NO SEU PROJETO.
    private static NpgsqlConnection conn = null;
    public static NpgsqlConnection getConexao()
    {
      if (conn == null)
      {
        string connstring = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};", "SEU_SERVIDOR_POSTGRESQL", "5432", "SEU_USUARIO_POSTGRESQL", "SUA_SENHA_POSTGRESQL", "SEU_ESQUEMA_POSTGRESQL");
        conn = new NpgsqlConnection(connstring);
        conn.Open();
      }
      return conn;
    }
    NpgsqlConnection conexao = ConexaoDAO.getConexao();
    NpgsqlCommand cmd = new NpgsqlCommand(SQL_CLIENTES, conexao);
    NpgsqlDataReader reader = cmd.ExecuteReader();
    // Aqui eu coloquei uma lista de clientes (NO SEU CASO É UTILIZADOR)
    private List<Cliente> listaClientes = new List<Cliente>();
    // PERCORRENDO TODOS OS RESULTADOS ENCONTRADOS NA TABELA
    while (reader.Read())
    {
      // INSERINDO NO OBJETO CLIENTE OS ATRIBUTOS DO CLIENTE (NO SEU CASO É UTILIZADOR)
      Cliente cliente = new Cliente();
      cliente.Nome1 = Convert.ToString(reader["nome_cli"]);
      cliente.CidadeUF1 = Convert.ToString(reader["cidade_uf"]);
      // INSERINDO NA LISTA DE CLIENTES
      listaClientes.Add(cliente);
    }
    // FECHANDO O READER
    reader.Close();
   //OBS: ASSIM, SEUS UTILIZADORS (NO MEU CASO CLIENTE) ESTARÃO NA LISTA DE CLIENTES, DAÍ É SÓ MANIPULAR DO JEITO QUE VOCÊ NECESSITA
							
							
						 
Tiago, this question is very vague, could you put more details? taking advantage, make a [tour] and see how Stacoverflow works.
– Randrade