【问题标题】:NHibernate: Could not create the driver from Test.SqlServerCeDriver_ImageFixNHibernate:无法从 Test.SqlServerCeDriver_ImageFix 创建驱动程序
【发布时间】: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。可能的原因:未指定程序集名称。”

有人对我做错了什么有任何想法吗?

【问题讨论】:

    标签: nhibernate sql-server-ce


    【解决方案1】:

    在config中定义驱动时,用AssemblyQualifiedName定义,即:

    Test.SqlServerCeDriver_ImageFix, MyAssemblyThatContainsThisType
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 2011-05-12
      • 2012-06-06
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      相关资源
      最近更新 更多