IQueryable, преобразование анонимного типа в сильный тип - PullRequest
2 голосов
/ 01 октября 2010

Есть ли более элегантный / лаконичный способ этого; Я хотел бы избавиться от цикла foreach с помощью кода инициализации WorkListItem.

        var queryable = registrations.Select(
            r => new
                     {
                         r.Id, r.AccountNumber, r.DateAdded, r.DateUpdated, r.Patient, r.Patient.InsuranceInfos
                     });
        var list = queryable.ToList();

        var workListItems = new List<WorkListItem>();
        foreach (var anonymous in list)
        {
            var w = new WorkListItem
                        {
                            Id = anonymous.Id,
                            ClientAccountId = anonymous.AccountNumber,
                            DateAdded = anonymous.DateAdded,
                            DateUpdated = anonymous.DateUpdated,
                            Patient = anonymous.Patient,
                            InsuraceInfos = anonymous.Patient.InsuranceInfos
                        };
            workListItems.Add(w);
        }
        return workListItems;

1 Ответ

4 голосов
/ 01 октября 2010

Да, вы можете полностью вырезать «посредника» и выбрать прямо в новый WorkListItem, как показано ниже:

...