Перебирать список<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);
}