working with Fluent NHibernate and guid ids



我们使用Fluent NHibernate 1.2,我们的主键是保存在nvarchar(32)列中的guid,用于Oracle 11gr2。

我们怎样才能做到这一点?(进行自动转换…)

谢谢你,随机程序员。。。

更新:忘了提一下,guid是不带破折号保存的。。。

更新:

您必须实现自己的IUserType来处理无dashless Guid
您可以在此处阅读:
http://dotnet.dzone.com/articles/understanding-nhibernate-type

下面的细节现在与这个问题无关,但我会把它放在这里,供人们将来参考。

使用Guids";通常"

在您的实体中,Id的类型应为Guid:

public virtual Guid Id { get; private set; }

在你的ClassMap中,你应该这样映射:

Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.GuidComb();

这将使用推荐的comb算法来生成新的guid。

Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.Guid();

使用System.Guid 生成新的Guid

Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.GuidNative();

如果您想让数据库为您生成Guid。

最新更新