繁体   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