Как сделать столбец автоматически наращиваемым первичным ключом в различных .NET ORM? - PullRequest
1 голос
/ 24 января 2010

Как сделать столбец (назовем его OrderID) первичным ключом с автоматическим приращением в различных .NET ORM?

Linq To SQL

  • [Column(Name="OrderID", IsPrimaryKey=true, IsDbGenerated=true)]

Entity Framework

  • [EdmScalarProperty(EntityKeyProperty=true, IsNullable=false)] (невозможно указать autoinc?)

NHibernate

  • [Id(Name = "OrderId"), Generator(1, Class ="Identity")]

Я начал этот вопрос, чтобы получить исчерпывающий ответ на этот вопрос и получить дополнительную информацию от сообщества .NET. Если вы используете ORM, которого нет в этом списке, отредактируйте этот вопрос и опубликуйте соответствующие атрибуты.

1 Ответ

1 голос
/ 27 января 2010

В Habanero (http://www.habanerolabs.com/) вы можете настроить его через ClassDef.Xml следующим образом:

property name = "AutoIncrementingProp" type = "Int32" autoIncrementing = "true"

, или вы можете установить его в Firestarter, отметив Autogenerate (Это сгенерирует ClassDefs с autoIncrementing.

Или, если вы используете более свободный синтаксис, то есть вы не настраиваете свои бизнес-объекты через ClassDefs, тогда вы бы это сделали.

BOProp autoIncrementingProp = новый BOProp (......., правда,.);

или autoIncrementingProp.AutoIncrementing = true;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...