Проблема с картографированием Mapster. Сопоставление списка объектов со списком строкC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с картографированием Mapster. Сопоставление списка объектов со списком строк

Сообщение Anonymous »

Я пытаюсь сопоставить модель обслуживания с моделью представления с помощью Mapster.

Моя модель обслуживания содержит список строк.

Моя модель представления содержит список типа RolesViewModel.

RolesViewModel имеет строковое свойство с именем RoleName.

Ниже приведены мои модели

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

public class UserViewModel
{
[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }

public List Roles { get; set; } = new List();
}

public class RolesViewModel
{
public RolesViewModel(string roleName)
{
RoleName = roleName;
}

public string RoleName { get; set; }
}

//Service Model
public class User
{
public string Email { get; set; }
public List Roles { get; set; } = new List();
}

//Service Return Model
public class ServiceResponse
{
public bool Success { get; set; } = false;
public Data.Enums.Exception Exception { get; set; }
public T ResponseModel { get; set; }

/// 
/// Allows Service Response  to be cast  to a boolean.
/// 
/// 

public static implicit operator bool(ServiceResponse response)
{
return response.Success;
}
}
Строка в моем контроллере, к которой я применяю сопоставление, выглядит следующим образом:

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

List viewModel = serviceResponse.ResponseModel.Adapt();
И, наконец, моя конфигурация сопоставления

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

public class Mapping : IRegister
{
public void Register(TypeAdapterConfig config)
{
config.NewConfig();
config.NewConfig();
config.NewConfig
();
config.NewConfig();
config.NewConfig();
}
}
Чтобы попытаться заставить отображение работать, я попытался обновить конфигурацию сопоставления до:

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

public class Mapping : IRegister
{
public void Register(TypeAdapterConfig config)
{
config.NewConfig();
config.NewConfig();
config.NewConfig
();
config.NewConfig().Map(dest => dest.Roles.Select(t => t.RoleName.ToString()).ToList(), src => src.Roles);
config.NewConfig().Map(src => src.Roles, dest => dest.Roles.Select(t => t.RoleName.ToString()).ToList());
config.NewConfig();
}
}
Но я получаю сообщение об ошибке:
"Недопустимое приведение из "System.String" к "ViewModels.RolesViewModel".

Может ли кто-нибудь посоветовать мне, какая конфигурация мне нужна в моем классе картографирования?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Mapster ShallowCopyForSameType (true) не работает
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Объедините 2 поля в одно с помощью Mapster
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Mapster.Tool использует codegen для создания картографов, но не DTO
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Mapster: Merge Sub объект
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Проблема картирования картирования карт. Сопоставление списка объектов в список строк
    Anonymous » » в форуме C#
    0 Ответы
    211 Просмотры
    Последнее сообщение Anonymous

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