Уникальный идентификатор как идентификатор в SQL Server CE? - PullRequest
1 голос
/ 06 января 2012

В SQL Server CE можно создать столбец идентификаторов с типом данных uniqueidentifier? Если так, то как? Если нет, то почему?

Я пытался создать его с помощью «Новой таблицы» из обозревателя серверов в VS2010, и параметр Identity включается только при типе int.

Edit:

По предложению EricEJ я сделал колонку PK. Я также установил его как «RowGuid»

   CREATE TABLE [MyTable] (
      [Id] uniqueidentifier ROWGUIDCOL 
      ...

Я не знаю точно, для чего предназначено свойство RowGuid, но, похоже, оно дает желаемый эффект, а именно: автоматическое создание новых guid-значений по умолчанию при вставке без необходимости их создания в коде. Было бы неплохо иметь значения по умолчанию для последовательных указателей, но, похоже, это не поддерживается SQL Server CE.

1 Ответ

3 голосов
/ 08 января 2012

Единственный поддерживаемый тип для IDENTITY - int или bigint.Но вы можете использовать Guid / uniqueidentifier в качестве первичного ключа и установить его значение в коде, используя Guid.NewGuid ().

...