【发布时间】:2009-04-07 22:53:00
【问题描述】:
Id 列可以指定生成器。完美的。
但是,我有一种情况,如果它为空,我需要将生成的值分配给属性列。想想发票表,其中有一个代理主键列和一个发票编号列。
CREATE TABLE dbo.Invoice (InvoiceId INT NOT NULL PRIMARY KEY IDENTITY(1,1), InvoiceNumber INT NOT NULL, InvoiceDate DATETIME NOT NULL, remaining columns...)
这不是默认值。发票编号可能有一些围绕它的生成的规则。我有一个处理实际生成的 C# 类,我只需要找到一种方法来填充 Invoice 类上的属性值。
理想情况下,我可以为属性指定生成器,就像我为映射中的 Id 所做的那样。不幸的是,从我能确定的情况来看,这似乎是不可能的。我希望我错了。
我还有其他可以使用的非 nHibernate 选项,例如使用触发器,将生成插入提供程序。但是,我想将其保留为配置选项而不是编码选项。
有没有人知道这种能力是否存在?
【问题讨论】:
标签: nhibernate