2013-08-21 2 views
0

Может ли кто-нибудь помочь мне создать последовательность чисел в .net для первичного ключа (SQL-сервера). Мне нужно достичь этой функциональности через .net-код. Кто-нибудь когда-либо пробовал это раньше?создать последовательность чисел в .net для первичного ключа sql

+2

Много раз, первичные ключи, которые «создали» в коде .NET являются 'типы данных GUID'. Это нормально для вашей ситуации? –

+1

Вы когда-нибудь слышали о столбцах IDENTITY? http://technet.microsoft.com/en-us/library/ms186775.aspx – Steve

+0

_ «Мне нужно достичь этой функциональности через .net-код» _ Почему вы можете [установить IDENTITY_INSERT] (http: // msdn. microsoft.com/en-us/library/ms188059.aspx), что безопаснее, чем вводить значение программно (считают, что несколько приложений/потоков пытаются вставить одновременно). –

ответ

0

Если у вас есть набор данных с вашего ПК колонке под названием RecordID, и вы хотите, чтобы получить следующий доступный, который вы могли бы сделать что-то вроде этого:

var nextId = table.OrderByDescending(x => x.RecordID).First().RecordID++; 

Однако его не совершенна, как пользователь может удалить новейшая запись, освобождающая RecordID для повторного использования. Если у вас есть другие данные, которые относятся к нему, это может привести к другой записи.

Я думаю, что комментарий @David Тансей был лучший совет - использовать GUID:

var nextId = Guid.NewGuid(); 
Смежные вопросы