将float类型映射为流畅的nhibernate上的ID

时间:2016-08-17 16:32:29

标签: nhibernate fluent-nhibernate primary-key

我是nhibernate的新手,并试图映射一个在sql server schema上有浮动的列(它无法更改)。以下是我的域名:

public class Versionhistory {
    [Required]
    public virtual float Versionnumber { get; set; }
    [Required]
    public virtual DateTime Dateapplied { get; set; }
}

以下是我的映射:

    public class VersionhistoryMap : ClassMap<Versionhistory> {

    public VersionhistoryMap() {
        Table("VersionHistory");
        LazyLoad();
        Id(x => x.Versionnumber).GeneratedBy.Identity().Column("VersionNumber");
        Map(x => x.Dateapplied).Column("DateApplied").Not.Nullable();
    }
}

我收到错误,&#34;身份类型必须是整数(int,long,uint,ulong)&#34;

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我很确定此列只能在自动生成ID时使用整数类型,但您可以尝试:

   Id(x => x.VersionNumber)
       .GeneratedBy.Identity()
       .Column(className + "_Id")
       .CustomType("Float");