Реализация AutoMapper IValueResolverC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Реализация AutoMapper IValueResolver

Сообщение Anonymous »

У меня есть сложный класс QuoteVolumeMultiplier (модель сущности) и класс:

Код: Выделить всё

public class Pair
{
public T1 Text { get; set; }
public T2 Value { get; set; }
}
Затем я хочу реализовать некоторую логику от QuoteVolumeMultiplier до значения Text Pair

Код: Выделить всё

    CreateMap()
.ForMember(d => d.Value, o => o.MapFrom(s => s.Id))
.ForMember(d => d.Text, o => o.MapFrom())
;
где:

Код: Выделить всё

public class VolumeMultiplierTextResolver : IValueResolver
{
public string Resolve(QuoteVolumeMultiplier source, Pair destination, string destMember, ResolutionContext context)
{
return string.Empty;
//string minSum = source.PreviousVolumeMultiplierId.HasValue ? (source.MaxSum.HasValue ? (source.PreviousVolumeMultiplier!.MaxSum.Value + 1).DollarFormatting() : source.PreviousVolumeMultiplier!.MaxSum.Value.DollarFormatting()) : "$0";
//string maxSum = source.MaxSum.HasValue ? (source.PreviousVolumeMultiplierId.HasValue ? source.MaxSum.Value.DollarFormatting() : (source.MaxSum + 1).Value.DollarFormatting()) : "max";

//return $"{minSum} - {maxSum}";
}
}
но когда я пробую этот код, я получаю

AutoMapperMappingException: невозможно создать выражение карты из .
(QuoteGenerator.Data.Models.QuoteVolumeMultiplier) в String.Text
(System.String)
Типы сопоставления: QuoteVolumeMultiplier -> Пара

Код: Выделить всё

2 QuoteGenerator.Data.Models.QuoteVolumeMultiplier -> QuoteGenerator.Infrastructure.DTO.Common.Pair
2[[System.String,
System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=7cec85d7bea7798e],[System.Int32,
System .Private.CoreLib, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=7cec85d7bea7798e]]
Конфигурация карты типов: QuoteVolumeMultiplier -> Pair

Код: Выделить всё

2 QuoteGenerator.Data.Models.QuoteVolumeMultiplier -> QuoteGenerator.Infrastructure.DTO.Common.Pair
2[[System.String,
System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=7cec85d7bea7798e],[System.Int32,
System .Private.CoreLib, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=7cec85d7bea7798e]]
Конечный элемент: текст

Я пытаюсь реализовать согласно странице: https://docs.automapper.org/en/stable/C ... lvers.html и не понимаю, в чем дело. Кажется, я правильно реализую...

Подробнее здесь: https://stackoverflow.com/questions/786 ... ementation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»