如何在各种.NET ORM中将列设置为自动递增的主键?

时间:2010-01-23 21:28:25

标签: .net database orm attributes

如何在各种.NET ORM中创建一个列(让我们称之为OrderID)一个自动递增的主键?

Linq To SQL

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

实体框架

  • [EdmScalarProperty(EntityKeyProperty=true, IsNullable=false)](无法指定autoinc?)

NHibernate的

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

我已经开始提出这个问题,以便对这个问题进行一站式的回答,并从.NET社区中获取更多信息。如果您使用此处未列出的ORM,请编辑此问题并发布相应的属性。

1 个答案:

答案 0 :(得分:1)

在Habanero(http://www.habanerolabs.com/)中,您可以通过ClassDef.Xml进行设置,如下所示:

property name =“AutoIncrementingProp”type =“Int32”autoIncrementing =“true”

或者你可以通过勾选Autogenerate在Firestarter中设置它(这将生成带有autoIncrementing的ClassDef。

或者,如果您使用更流畅的语法,即您没有通过ClassDef设置Business Objects,那么您可以这样做。

BOProp autoIncrementingProp = new BOProp(.......,true,。);

或autoIncrementingProp.AutoIncrementing = true;