Я пытаюсь решить проблему, когда при использовании NHibernate с SqlServerCeDriver, который использует столбец изображения, вы получаете сообщение об ошибке: «Усечение байтового массива длиной до 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 из NHibernate.Driver.SqlServerCeDriver к Test.SqlServerCeDriver_ImageFix I получить ошибку, но я не уверен, почему.
Внутреннее исключение: «Не удалось загрузить тип Test.SqlServerCeDriver. Возможная причина: имя сборки не указано».
У кого-нибудь есть идеи относительно того, что я делаю неправильно?
, который работал как шарм. Спасибо! – Kyle