簡體   English   中英

C#AutoMapper數組到列表

[英]C# AutoMapper Array to a List

我已經閱讀了將數組自動映射到列表,但是實際上這是列表到數組,我確實希望數組到列表。 這是我的代碼:

using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;

namespace PocArrayListMap
{
    class Destination
    {
        public List<string> list = new List<string>();
    }

    class Origin
    {
        public string[] array;
    }

    class Program
    {
        static void Main(string[] args)
        {
            Mapper.Initialize(cfg => cfg.CreateMap<Origin, Destination>().ForMember(e => e.list, opts => opts.MapFrom(s => s.array.ToList())));

            var config = new MapperConfiguration(cfg => cfg.CreateMap<Origin, Destination>());
            config.AssertConfigurationIsValid(); // Exception here

            var o = new Origin() { array = new string[] { "one", "two", "three" } };

            var d = Mapper.Map<Destination>(o);

            Console.WriteLine(string.Join(", ", d.list));
        }
    }
}

這是異常消息:

來源->目的地(目的地成員列表)

PocArrayListMap.Origin-> PocArrayListMap.Destination(目標成員列表)

未映射的屬性:

名單

使用Automapper(6.2.2)和.Net 4.6.2的最新版本。並非與平台或版本相關。

如此處所述編輯https: //stackoverflow.com/a/5591125/169714 automapper應該自動執行列表和數組內容。 但是我一直在獲取未映射的屬性。 即使我有ForMember方法。

我嘗試了此代碼(使用Automapper 6.2.2),它在我的身邊工作:

class Program
{
    static void Main(string[] args)
    {
        Mapper.Initialize(cfg => cfg.CreateMap<Origin, Destination>().ForMember(e => e.list, opts => opts.MapFrom(s => s.array.ToList())));
        Mapper.AssertConfigurationIsValid();

        Origin o = new Origin {array = new[] {"one", "two", "three"}};
        Destination d = Mapper.Map<Destination>(o);

        Console.WriteLine(string.Join(", ", d.list));
    }
}

您的清單中是否包含任何物品? 因為我看不到是否為它分配了值,所以從我的角度來看,您的列表為空...

線程中,評論之一是:“現在5.0.1出來了,我必須將其更改為CreateMap(MemberList.None),否則我將得到錯誤”。

希望我能幫上忙!

如何 map Object 列出<object> c# 自動映射器<div id="text_translate"><p>任何想法如何 map 單個 object ot 列表? 我有:</p><pre> class AdditionalData: string data1 string data2 string data3 class Person: AdditionalData additionalData string UCN class AdditionalDataDTO: string data1 string data2 string data3 string data4 string data5 class PersonDTO: AdditionalDataDTO additionalData[] string UCN</pre><p> 那么如何將 map AdditionalData 到 List 我希望源成為第一個 object ot 列表我知道如何將 map AdditionalData 到 AdditionalDataDTO</p></div></object>

[英]How to map Object to List<Object> c# Automapper

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM