Ran*_*mer 5 oracle nhibernate guid fluent-nhibernate
我们正在使用Fluent NHibernate 1.2,我们的主键是一个保存在nvarchar(32)列中的guid ,与Oracle 11gr2一起使用.
我们怎样才能做到这一点?(进行自动转换......)
谢谢,随机程序员......
更新:忘记提及,guid保存没有破折号...
您必须实现自己的IUserType来处理无破坏的Guids.
你可以在这里阅读:http:
//dotnet.dzone.com/articles/understanding-nhibernate-type
下面的详细信息现在与问题无关,但我会将其保留在此处供将来参考,供人们查找.
在您的实体中,Id应为Guid类型:
public virtual Guid Id { get; private set; }
Run Code Online (Sandbox Code Playgroud)
在你的ClassMap中,你应该像这样映射它:
Id(x => x.Id)
.Column("Id")
.GeneratedBy.GuidComb();
Run Code Online (Sandbox Code Playgroud)
这将使用推荐的梳状算法生成新的guid.
要么
Id(x => x.Id)
.Column("Id")
.GeneratedBy.Guid();
Run Code Online (Sandbox Code Playgroud)
使用新的Guids System.Guid
要么
Id(x => x.Id)
.Column("Id")
.GeneratedBy.GuidNative();
Run Code Online (Sandbox Code Playgroud)
如果你想让数据库为你生成Guid.
| 归档时间: |
|
| 查看次数: |
3644 次 |
| 最近记录: |