2011-02-17 42 views
0

我有映射了最新的FluentNHibernate構建提供一個實體上的NuGet問題(包版本:1.1.1.694)和NHibernate 3.0 GAFluentNHibernate CustomType(「二進制」)MappingException

我所試圖達到的sql type:二進制(64)與FluentNHibernate以數據庫不可知的方式(我不想使用CustomSqlType)。

默認是varbinary(64),我不想要。小寫「二進制」導致這一點。

我的映射代碼:

this.Map(x => x.PasswordHash) 
    .CustomType("Binary") 
    .Length(64) 
    .Not.Nullable(); 

給出NHibernate的映射XML文件:產生模式

<property name="PasswordHash" type="Binary"> 
    <column name="PasswordHash" length="64" not-null="true" /> 
</property> 

例外: 未能加載類型二進制。 System.TypeLoadException:無法加載類型二進制文件。可能的原因:沒有指定程序集名稱。

在NHibernate.Util.ReflectHelper.TypeFromAssembly(AssemblyQualifiedTypeName名,布爾throwOnError)

在另一方面CustomType( 「StringClob」)的作品。有什麼我失蹤? 有沒有辦法讓流利的NHibernate .CustomType <>使用內置的NHibernate類型?

(對AnsiChar或.NET類型和數據庫類型之間的其他非標準映射有用)?

回答

0

我相信你必須改變sql-type,而不是type(流利的語法可能是.SqlType("binary")或類似的東西)