Onur ERYILMAZ Ответов: 1

Проблема отображения автомата


Привет,

У меня есть некоторые проблемы с automapper.

У меня есть два объекта, и я хочу их преобразовать.

Первый объект;

public partial class WorkCommandDocuments
    {
        public int ID { get; set; }

        [Required]
        [StringLength(300)]
        public string WorkCommandNumber { get; set; }

        [Required]
        [StringLength(500)]
        public string WorkCommandDocumentDefinition { get; set; }

        [Required]
        public byte[] WorkCommandDocument { get; set; }

        [Required]
        [StringLength(100)]
        public string FileExtension { get; set; }

        public virtual WorkCommands WorkCommands { get; set; }
    }


Второй объект;

public class WorkCommandDoc
    {
        [DataMember]
        public int ID { get; set; }
        [DataMember]
        public string WorkCommandNumber { get; set; }
        [DataMember]
        public string WorkCommandDocumentDefinition { get; set; }
        [DataMember]
        public byte[] WorkCommandDocument { get; set; }
        [DataMember]
        public string FileExtension { get; set; }

        public WorkCommandDoc(int id, string workCommandNumber, string workCommandDocumentDefinition, byte[] workCommandDoc, string fileExtension)
        {
            ID = id;
            WorkCommandNumber = workCommandNumber;
            WorkCommandDocumentDefinition = workCommandDocumentDefinition;
            WorkCommandDocument = workCommandDoc;
            FileExtension = fileExtension;
        }
    }


Но я получаю 'AutoMapper.AutoMapperConfigurationException' in AutoMapper.dll ошибка.

Редактировать: я решил эту проблему с добавлением подрядчик по умолчанию WorkCommandDoc объекта.

Что я уже пробовал:

Я пытался:

Mapper.Initialize(config => 
            {
                config.CreateMap<WorkCommandDocuments, WorkCommandDoc>();
            });
            Mapper.AssertConfigurationIsValid();

 WorkCommandDoc wc = Mapper.Map<WorkCommandDoc>(doc);

[no name]

Я не вижу никакого класса для приведенного ниже кода.Я считаю, что есть некоторые проблемы с версиями.
Скрыть   скопировать код

public virtual WorkCommands WorkCommands { get; set; }

Onur ERYILMAZ

Спасибо за ваш ответ.

Класс WorkCommands существует, но я не хочу передавать этот класс, я только хочу передать свойства ID, WorkCommandNumber, WorkCommandDocumentDefinition, WorkCommandDocument и FileExtension.

[no name]

Используйте automapper версии 3.1.1 и напишите, как показано ниже.Проверьте эту ссылку:https://dotnetfiddle.net/fSMiLR

WorkCommandDoc WorkCommandDoc = new WorkCommandDoc(12,"2391283k","Doc64",new byte[obj.Length],"docx");      Mapper.CreateMap<WorkCommandDoc, WorkCommandDocuments>();				WorkCommandDocuments cvm = Mapper.Map<WorkCommandDoc, WorkCommandDocuments>(WorkCommandDoc);				Console.WriteLine(cvm.ID);

Не копируйте и не вставляйте код, который выдаст вам ошибки.Проблема, которую вы получаете, должна быть связана с версией auto mapper.

Onur ERYILMAZ

К сожалению это тоже не работает :(

[no name]

Пожалуйста, опубликуйте полную трассировку стека ошибок, которую вы получаете

Onur ERYILMAZ

Исключение брошено: 'AutoMapper.AutoMapperConfigurationException' in AutoMapper.dll
Исключение брошено: 'AutoMapper.AutoMapperConfigurationException' в системе.ServiceModel.dll
Исключение брошено: 'AutoMapper.AutoMapperConfigurationException' в системе.ServiceModel.dll

Я также могу опубликовать все свои модели и modeldto?

1 Ответов

Рейтинг:
2

Onur ERYILMAZ

Редактировать: я решил эту проблему с добавлением подрядчик по умолчанию WorkCommandDoc объекта.