1
我试图解决一个问题,当与使用图像列的SqlServerCeDriver一起使用NHibernate时,您会收到一个错误:“Byte array truncation to a length of 8000.”。我发现了以下解决方案:NHibernate:无法从Test.SqlServerCeDriver_ImageFix创建驱动
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.Driver.SqlServerCeDriver 改变NHibernate的映射 Test.SqlServerCeDriver_ImageFix 我得到错误,但我不知道为什么。
内部异常是:“无法加载类型Test.SqlServerCeDriver。可能的原因:没有指定程序集名称。”
任何人有什么想法做什么即时通讯做错了?
这工作就像一个魅力。谢谢! – Kyle 2009-09-17 13:53:50