Все дело в том, откуда на самом деле берутся ваши данные, будь то наборы данных с простым-старым-sql, какой-то ORM (NHibernate или Entity-Framework или что-то еще), типизированные наборы данных, linq-2-sql ...
В зависимости от вашего источника данных вам может потребоваться ввести первичный ключ в вашу базу данных.
GridView на самом деле не заботится об этом, в конце концов, он просто отображает список данных, ив сетке нет такого понятия, как первичный ключ.Это имеет значение только для техники доступа к данным, чтобы узнать, какую строку нужно обновить.