ASP.NET MVC: Automapper เพื่อรวมคลาส

ฉันมีรหัสนี้:

public class OrderModel
{
    public List<Order> Orders { get; set; }
}

public class Order
{
    public string Code { get; set; }
    public DateTime CreationDate { get; set; }
    public Customer Customer { get; set; }
}

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

ฉันต้องการให้ List<MyClass> MyClass มีลักษณะดังนี้:

public class MyClass
{
    public string OrderCode { get; set; }
    public string OrderCreationDate { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

Automapper สามารถช่วยฉันในเรื่องนี้ได้ไหม หากไม่มีวิธีแก้ปัญหาอื่นเพื่อหลีกเลี่ยงการวนซ้ำ?

ขอบคุณ,


person Kris-I    schedule 17.09.2011    source แหล่งที่มา


คำตอบ (1)


หากต้องการทำ DTO ให้แบนราบด้วย automapper ให้ดูที่ โพสต์นี้และสิ่งนี้ พวกเขาควรตอบคำถามของคุณ

หากคุณไม่ต้องการใช้ automapper ฉันจะใช้ Linq แบบธรรมดา บางอย่างเช่นนี้

 var myClassList = (from p in OrderModel.Orders select new MyClass()
          {
            OrderCode = p.Code,
            OrderCreationDate = p.CreationDate,
            FirstName = p.Customer.FirstName,
            LastName = p.Customer.LastName
          }).ToList();
person Iridio    schedule 17.09.2011