Как указать столбец Identity в Linq2SQL

#c# #asp.net #linq-to-sql

#c# #asp.net #linq-to-sql

Вопрос:

Сначала я хочу использовать Linq2SQL и заставить его создать sql db для меня, но когда я создавал поля, я понял, что не вижу никакой функции идентификации или чего-то еще в окне свойств.

Что мне делать? Я думаю создать базу данных таким образом, а затем перейти в SQL DB и изменить столбец на Identity.

Вот снимок выбранного столбца userId в файле Linq2SQL.

Заранее спасибо.

введите описание изображения здесь

Ответ №1:

Он установлен как автоматически созданный, именно так обычно представляются столбцы linq-to-sql.

Взгляните на сгенерированный файл .cs и посмотрите, как он выглядит. В файле, сгенерированном sqlmetal, столбец identity имеет этот атрибут:

 [global::System.Data.Linq.Mapping.ColumnAttribute(
    Storage="_ID", AutoSync=AutoSync.OnInsert, 
    DbType="Int NOT NULL IDENTITY", 
    IsPrimaryKey=true, IsDbGenerated=true)] 
  

Можете ли вы найти что-нибудь подобное в своем файле? В частности, интересен DbType.

Комментарии:

1. Можете ли вы быть более конкретным? Вы имеете в виду, что автоматически сгенерированное значение означает автоматическое увеличение значения или что-то в этом роде?

2. Спасибо за ответ, я напрямую написал int NOT NULL IDENTITY в столбце Server Data Type. Это не дало никаких ошибок.