我在使用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类型和数据库类型之间的其他非标准映射有用)?
答案 0 :(得分:0)
我认为您必须更改sql-type
,而不是type
(流利的语法可能是.SqlType("binary")
或类似的内容)