Перебирать список<datacontract>

У меня возникли некоторые трудности в переборе данных и назначении каждого значения данному свойству в списке данных.

Итак, у меня есть следующий DataContract:

namespace Shared.DataContracts
{
    [Serializable]
    [DataContract(Name = "DispatchAddress")]
    public class DispatchDetails
    {
        [DataMember(Name = "ShippingAddressCode")]
        public string ShippingAddressCode { get; set; }

        [DataMember(Name = "ShippingName")]
        public string ShippingName { get; set; }

        [DataMember(Name = "Address")]
        public Address Address { get; set; }

        [DataMember(Name = "ContactName")]
        public string ContactName { get; set; }

        //etc
    }
}

В моем сервисе я хотел бы вернуть список DispatchDetails, но моя проблема заключается в назначении значений каждому из свойств.

public GetDispatchDetailsResponse GetDispatchDetails(string code, string id)
{
    GetDispatchDetailsResponse getDispatchDetailsResponse = new GetDispatchDetailsResponse();

    List<DispatchDetails> dispatchDetails = new List<DispatchDetails>();

    DataTable dt = _dataRetriever.GetDataTable(string.Format(BusinessSqlConstants. DispatchAddress, code, id));

    foreach (var row in dt.Rows)
    {
        foreach (var col in dt.Columns)
        {
            //The troublesome line of code.
            dispatchDetails.Add("ShippingAddressCode") = Convert.ToString(dt.Columns["ShippingAddressCode"]);
            //etc
        }
    }
}

Я добавил свою последнюю хитрую строку кода, чтобы продемонстрировать, чего я пытаюсь достичь. Я пробовал несколько способов, но мне кажется, что я изо всех сил пытаюсь увидеть лес сквозь деревья:)

Заранее спасибо за любые советы.

С уважением, Кристиан

1 ответ

Решение

Вы пытаетесь это сделать?

foreach (DataRow row in dt.Rows)
{
    var item = new DispatchDetails();

    item.ShippingAddressCode = Convert.ToString(row["ShippingAddressCode"]);
    item.ShippingName = Convert.ToString(row["ShippingName"]);
    // etc.

    dispatchDetails.Add(item);
}
Другие вопросы по тегам