如何在各种.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,请编辑此问题并发布相应的属性。
答案 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;