Sql server 如何用NHibernate映射newsequentialid

Sql server 如何用NHibernate映射newsequentialid,sql-server,stored-procedures,nhibernate,nhibernate-mapping,filetable,Sql Server,Stored Procedures,Nhibernate,Nhibernate Mapping,Filetable,我将SQL Server FileTable与NHibernate一起使用 在insert时,NHibernate将调用一个存储过程,将记录插入FileTable。我遇到的问题是FileTable中的Id(stream\u Id)列是SQL Server在插入时生成的。它由默认约束newsequentialid()生成 如何从存储过程返回该id并将其映射到实体的id属性 更新: 关于另一个问题:[NHibernate使用存储过程或映射][1] 这在这里不适用。我正在使用存储过程插入实体。该存储过

我将SQL Server FileTable与NHibernate一起使用

在insert时,NHibernate将调用一个存储过程,将记录插入FileTable。我遇到的问题是FileTable中的Id(
stream\u Id
)列是SQL Server在插入时生成的。它由默认约束
newsequentialid()
生成

如何从存储过程返回该id并将其映射到实体的id属性

更新:

关于另一个问题:[NHibernate使用存储过程或映射][1] 这在这里不适用。我正在使用存储过程插入实体。该存储过程必须返回数据库在插入时生成的Guid类型的Id。我希望NHibernate将此id映射到实体

我需要像Generators.TriggerIdentity这样的东西,但是需要Guid而不是Int

更新2:


通过将Entity.Id的Id生成策略设置为“Native”并从存储过程中选择一个返回值,我成功地填充了Entity.Id。但这会中断事务,因为要获取Id,它需要转到数据库并进行插入。

我通过将Id生成器更改为Generators.Native来解决这个问题。 然后我必须从存储过程返回插入的id