2016-08-17 90 views
0

我是nhibernate的新手,尝试映射在sql server架构上有浮点的列(它无法更改)。下面是我的域名:将float类型映射为流畅的nhibernate上的ID

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(); 
    } 
} 

我收到错误, “身份类型必须是整体(的int,long,UINT,ULONG)”

任何帮助将不胜感激。

回答

0

我敢肯定此列只能使用整数类型时Autogenerating IDS但你可以尝试:

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

对不起,我试过,但没有作品。我认为CustomType适用于VARCHAR2等 –

+1

这就是CustomSQLType。 CustomType告诉NHibernate应该使用哪种类型来映射项目本身 – prestonsmith