Oracle 使用Fluent NHibernate和guid ID
我们使用的是Fluent NHibernate 1.2,我们的主键是保存在nvarchar(32)列中的guid,使用的是Oracle 11gr2 我们怎样才能做到这一点?(进行自动转换…) 谢谢你,随机程序员 更新: 忘记提及,guid保存时没有破折号…更新: 您必须实现自己的IUserType来处理无dashless GUI。Oracle 使用Fluent NHibernate和guid ID,oracle,nhibernate,fluent-nhibernate,guid,Oracle,Nhibernate,Fluent Nhibernate,Guid,我们使用的是Fluent NHibernate 1.2,我们的主键是保存在nvarchar(32)列中的guid,使用的是Oracle 11gr2 我们怎样才能做到这一点?(进行自动转换…) 谢谢你,随机程序员 更新: 忘记提及,guid保存时没有破折号…更新: 您必须实现自己的IUserType来处理无dashless GUI。 您可以在这里阅读: 下面的细节现在与问题无关,但我会将其保留在这里,供人们将来查找 “正常”使用guid 在实体中,Id应为Guid类型: public virtu
您可以在这里阅读:
下面的细节现在与问题无关,但我会将其保留在这里,供人们将来查找 “正常”使用guid 在实体中,Id应为Guid类型:
public virtual Guid Id { get; private set; }
在类映射中,您应该这样映射它:
Id(x => x.Id)
.Column("Id")
.GeneratedBy.GuidComb();
这将使用推荐的comb算法生成新的guid
或
使用System.Guid
或
如果您想让数据库为您生成Guid。这是一个非常棘手的问题……您必须实现自己的IUserType。我会更新我的答案。
Id(x => x.Id)
.Column("Id")
.GeneratedBy.Guid();
Id(x => x.Id)
.Column("Id")
.GeneratedBy.GuidNative();