Невозможно десериализовать массив типов свойств, сохраненный из другого приложения.

0

У меня есть два приложения, веб-сайт и консольное приложение.

Веб-сайт сохраняет запись, а консольное приложение получает запись для уведомлений.

На веб-сайте запись сохраняется с успехом, но консольное приложение не может десериализовать свойство PerfisDeAcesso.

Оба приложения имеют класс ниже

//Класс домена

public class Comunicado : Entity<int>
{
   public virtual string Titulo { get; set; }
   public virtual string Mensagem { get; set; }
   public virtual PerfilDeAcesso[] PerfisDeAcesso { get; set; }
}

//Отображение NHibernate

public class ComunicadoMap : ClassMap<Comunicado>
{
    public ComunicadoMap()
    {
        Id(x => x.Id).GeneratedBy.Identity();

        Map(x => x.Titulo).Not.Nullable();
        Map(x => x.Mensagem).Not.Nullable().Length(4001);
        Map(x => x.PerfisDeAcesso);
    }
}

В таблице MySQL тип столбца BLOB

Изображение 174551

В консольном приложении происходит ошибка, но консольное приложение не имеет пространства имен Condomundo.Domain.Core, это пространство имен принадлежит веб-приложению

Изображение 174551

  • 1
    Вам нужно прочитать тип столбца BLOB как byte[] затем преобразовать его в растровое изображение, которое можно использовать для установки свойства изображения
  • 1
    Я изменяю тип свойства на byte [], и он работает, большое спасибо, вы мне помогаете.
Показать ещё 1 комментарий
Теги:
nhibernate

1 ответ

1

Вам нужно прочитать тип столбца BLOB как byte[] затем преобразовать его в Bitmap который можно использовать для установки Image Property.

Значения BLOB обрабатываются как двоичные строки (байтовые строки). Они имеют двоичный набор символов и сортировку, а сравнение и сортировка основаны на числовых значениях байтов в значениях столбцов.

Чтение BLOB из базы данных

Ещё вопросы

Сообщество Overcoder
Наверх
Меню