使用 Fluent NHibernate 进行非主键身份自动增量映射
我需要使用 Fluent NHibernate 管理额外的自动增量列。
我的所有域类都使用分配的 Guid 作为 ID,但在特定实体中我需要一个额外的自动增量值。
我已经尝试了以下映射,该列在 SQL Server 中创建良好,但未设置身份规范。
Id(x => x.OrderId).GeneratedBy.Assigned();
Map(x => x.TicketNumber).ReadOnly().Generated.Always().Not.Nullable();
有什么帮助吗?
I need to manage an additionnal Auto Increment column using Fluent NHibernate.
All my domain classes use Assigned Guid as ID but in a particular entity i need an additionnal auto increment value.
I've tried the following mapping, the column is well created in SQL Server but the Identity Specification isn't set.
Id(x => x.OrderId).GeneratedBy.Assigned();
Map(x => x.TicketNumber).ReadOnly().Generated.Always().Not.Nullable();
Any help ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您仍然在寻找这个问题的答案,您也许可以在这篇文章中找到一些帮助:Fluent NHibernate 自动增量非键(Id)属性
在 Hibernate 中:
和 Fluent NHibernate:
以及可能的 Hibernate 论坛条目:https://forum.hibernate.org/viewtopic.php?f=1& t=954375
“生成意味着该值是由数据库生成的。因此,您需要一个触发器等来实际设置这些值。”
On the off-chance you are still after an answer for this question, you may be able to find some help in this SO post: fluent nhibernate auto increment non key (Id) property
In Hibernate:
And Fluent NHibernate:
and potentially this Hibernate forum entry: https://forum.hibernate.org/viewtopic.php?f=1&t=954375
"generated means that the value is being generated by the database. Thus you'd need a trigger, etc actually setting these values."
我假设您正在尝试使用 NHibernate 中内置的模式生成工具来执行此操作。不幸的是,使用这个工具,不可能完成您所要求的事情。它将为其设置身份标志的唯一列是主键列。因此,除非此列是主键的一部分,否则您将需要手动方法将其设置为标识列。
I'm assuming you're trying to use the built in schema generation tool in NHibernate to do this. Unfortunately with this tool, it is impossible to do what you are asking. The only columns it will set the Identity flag for, are the primary key columns. So unless this column is part of the primary key, you will need a manual method to set it to be an Identity column.