public void PrimaryKeyFieldMetadataSupport()
{
using (var conn = OpenConnection())
{
conn.ExecuteNonQuery("CREATE TEMP TABLE data (id SERIAL PRIMARY KEY, serial SERIAL)");
using (var command = new NpgsqlCommand("SELECT * FROM data", conn))
{
using (var dr = command.ExecuteReader(CommandBehavior.KeyInfo))
{
dr.Read();
var metadata = dr.GetSchemaTable();
var key = metadata.Rows.Cast<DataRow>().Single(r => (bool)r["IsKey"]);
Assert.That(key["ColumnName"], Is.EqualTo("id"));
}
}
}
}