Уникальный идентификатор как идентификатор в SQL Server CE?

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

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

Редактировать:

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

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

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


person tycom iplex    schedule 06.01.2012    source источник
comment
Хорошая мысль — ROWGUIDCOL подобен установке значения NEWID() по умолчанию для SQL CE — msdn.microsoft.com/en-us/library/ee210989.aspx   -  person ErikEJ    schedule 10.01.2012


Ответы (1)


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

person ErikEJ    schedule 08.01.2012