将对象映射到不同结构的新对象C#

时间:2015-02-27 22:17:48

标签: c# mapping .net-4.5

我有一个Web服务,它返回JSON中我需要的所有数据,只是在一个不太有用的结构中。这是一个例子:

public class Alt
{
    public Member Member { get; set; }
    public Claim OriginalClaim { get; set; }
    public Claim AlternativeClaim { get; set; }
    public decimal Savings { get; set; }
}

public class Member
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class Claim
{
    public int Id { get; set; }
    public DateTime EventDate { get; set; }
    public decimal Cost { get; set; }
}

我在我正在构建的服务中对此进行了重组,以便为​​每个Member / OriginalClaim遍历每个AlternativeClaim。这是新结构:

public class Alternative
{
    public Member Member { get; set; }
    public Claim OriginalClaim { get; set; }
    public List<AlternativeClaim> AlternativeClaims { get; set; }
}

public class Member
{
    (same as above)
}

public class Claim
{
    (same as above)
}

public class AlternativeClaim
{
    public Claim AltClaim { get; set; }
    public decimal Savings { get; set; }
}

是否有任何方法或方法可供任何人建议,这将使映射到这个更新的结构简单/能够用最少的代码完成?我以前曾经使用AutoMapper这样的事情,但我想不出在这种情况下能够做到这一点的方法。我试图避免明确地将数据映射到模型,但如果它是不可避免的,它会这样做。

谢谢!

1 个答案:

答案 0 :(得分:0)

不确定您在寻找什么。这实际上不是可以神奇映射的东西。像Automapper这样的库可以根据命名约定或属性对其进行映射,但在大多数情况下,您只需要制作转换方法。

停止过度思考,让它发挥作用!