【发布时间】:2009-09-17 21:49:34
【问题描述】:
我正在尝试解决一个问题,当将 NHibernate 与使用图像列的 SqlServerCeDriver 一起使用时,您会收到错误:“字节数组截断到长度为 8000。”。我找到了以下解决方案:
http://mgeorge-notes.blogspot.com/2009/05/nhibernate-mapping-from-binary-to.html
并创建了以下类:
namespace Test
{
public class SqlServerCeDriver_ImageFix : SqlServerCeDriver
{
protected override void InitializeParameter(IDbDataParameter dbParam, string name, SqlType sqlType)
{
base.InitializeParameter(dbParam, name, sqlType);
if (sqlType is BinarySqlType)
{
PropertyInfo dbParamSqlDbTypeProperty = dbParam.GetType().GetProperty("SqlDbType");
dbParamSqlDbTypeProperty.SetValue(dbParam, SqlDbType.Image, null);
}
}
}
}
但是当我将 NHibernate 映射从 NHibernate.Driver.SqlServerCeDriver 至 Test.SqlServerCeDriver_ImageFix 我得到了错误,但我不知道为什么。
内部异常是:“无法加载类型Test.SqlServerCeDriver。可能的原因:未指定程序集名称。”
有人对我做错了什么有任何想法吗?
【问题讨论】: