簡體   English   中英

C#自動映射器不適用於實體類和模型類

[英]C# automapper is not working with an entity class and model class

我正在嘗試使用此語句將Originator List映射到OriginatorModel列表

 List<OriginatorModel> originatorModels=  mapper.DynamicMap<List<Originator>, List<OriginatorModel>>(originators);

我調試了一下,在“ originators”變量中有很多元素,但是在映射語句之后,沒有將任何元素放入“ originatorModels”列表變量中。

任何幫助表示贊賞!

Entity class: 
public class Originator : EntityBase
{
    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string Birth { get; set; }  // use string instead of DateTime


    public string Death { get; set; }  // use string instead of DateTime



    public string VIAFNumber { get; set; }

    public string ImageFilename { get; set; }

    public Originator()
    {
    }
    public Originator(string firstName, string lastName, string birth=null, string death=null)
    {
        FirstName = firstName;
        LastName = lastName;
        Birth = birth;
        Death = death;
    }


    }

發起者模型類:

 public class OriginatorModel
{

   public int Id { get; set; }

    public string FirstName { get; set; }
    public string LastName { get; set; }

    public string FullName
    {
        get {
            string name = "";
            if ((!string.IsNullOrEmpty(FirstName)) && (!string.IsNullOrEmpty(LastName)))
            {
                name = LastName + ", " + FirstName;
            }
            else if (!string.IsNullOrEmpty(FirstName))
            {
                name = FirstName;
            }
            else
            {
                name = LastName;
            }

            return name;
          }
    }
    public string Birth { get; set; }
    public string Death { get; set; }


    public string VIAFNumber { get; set; }
    public string ImageFilename { get; set; }

}

我認為您不需要使用DynamicMapper。 您知道編譯類型的源代碼。 嘗試使用普通的Mapper.Map。

嘗試

     Mapper.CreateMap<Originator, OriginatorModel>();

     List<OriginatorModel> originatorModels = Mapper.Map<List<Originator>, List<OriginatorModel>>(originators);

您可以像這樣創建地圖:

Mapper.CreateMap<Originator, OriginatorModel>();

然后執行以下操作:

var originatorModels = Mapper.Map<List<Originator>, List<OriginatorModel>>(originators);

暫無
暫無

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

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