Добавление выбранных свойств в список и возврат в виде вызова API в C # - PullRequest
0 голосов
/ 05 декабря 2018

Я получаю список объектов в виде возврата из вызова функции.Я хочу добавить только несколько свойств объекта в анонимный объект и вернуть его.Можете ли вы дать мне знать, как это сделать?

var destinationSelectedProperties = new { code = string.Empty, name = string.Empty };
var destinations = pricerepository.GetDestinationsBasedOnMarketAndProgram(salesItemRequest);

if (destinations == null || !destinations.Any())
    return StatusCode(StatusCodes.Status204NoContent);

destinations.ToList().ForEach(u => {
                destinationSelectedProperties = new
                {
                    code = u.Code,
                    name = u.Name
                };
            });

Код такой, как показано выше.Здесь код возвращает только последнее значение в объекте, как показано ниже

{
    "code": "US-WAS",
    "name": "Washington, D.C."
}

Если в списке 3 значения, я хочу вернуть все значения списка, как показано ниже:

[
{
    "code": "US-WAS",
    "name": "Washington, D.C."
},
{
    "code": "US-SSS",
    "name": "London"
},
{
    "code": "US-GBL",
    "name": "Global"
}
]

1 Ответ

0 голосов
/ 05 декабря 2018

вместо одной переменной мы можем получить список объектов anonymous и вернуть его напрямую.

 // we need to comment it as its a single variable, 
 //var destinationSelectedProperties = new { code = string.Empty, name = string.Empty };

var destinations = pricerepository.GetDestinationsBasedOnMarketAndProgram(salesItemRequest);

if (destinations == null || !destinations.Any())
    return StatusCode(StatusCodes.Status204NoContent);

return destinations.Select(u =>new
                {
                    code = u.Code,
                    name = u.Name
                }).ToList();
...