FluentNHibernate CustomType(“Binary”)MappingException

时间:2011-02-17 10:34:14

标签: nhibernate fluent-nhibernate

我在使用NuGet(包版本:1.1.1.694)和NHibernate 3.0 GA

上可用的最新FluentNHibernate构建映射实体时遇到问题

我想要达到的是sql类型:二进制(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:无法加载类型二进制。可能的原因:未指定程序集名称。

at NHibernate.Util.ReflectHelper.TypeFromAssembly(AssemblyQualifiedTypeName name,Boolean throwOnError)

另一方面,CustomType(“StringClob”)有效。有什么我想念的吗? 有没有办法制作FluentNHibernate .CustomType&lt;&gt;使用内置的NHibernate类型?

(对于AnsiChar,或.NET类型和数据库类型之间的其他非标准映射有用)?

1 个答案:

答案 0 :(得分:0)

我认为您必须更改sql-type,而不是type(流利的语法可能是.SqlType("binary")或类似的内容)