У меня есть простое настольное приложение, которое использует SQL Server Compact (3.5 и будет обновлен до 4.0).
В моей основной таблице клиентов, в дополнение к столбцу ID
, который являетсяPK и автоматически увеличивается, мне нужно держать столбец Number
, который начинается с некоторого числа (20000) и является уникальным.
Опция вычисления следующего числа по существующей старшей строке не является хорошей- если другой клиент добавляет клиента между моим первым выбором и моей вставкой - у меня возникнет проблема.
Как указано в много мест , SqlCE автоматически увеличиваетсястолбец должен быть Identity
столбца, и в каждой таблице может быть только один Identity
столбец.
Есть ли другие известные вам способы решения этой проблемы?
Кстати: я использую Linqв ADO .net.
Редактировать:
Просто нашел эту ссылку и обнаружил, что я могу использовать даже опцию Identity с linq to Entities Framework: http://erikej.blogspot.com/2010/04/solutions-to-server-generated-keys-and.html