При создании наблюдаемой коллекции объектов из XML-документа с использованием linq есть ли какие-то подводные камни, о которых нужно беспокоиться? Кажется, у меня проблемы с этим, и я не уверен, почему так. Следующий код говорит мне, что я не согласен с коллекцией PatientModel и Observable моделей пациентов. Но я не знаю, что обязательно так. Я что-то упустил? Я думал, что свернута до нужного слоя. По общему признанию, мои навыки linq оставляют muc.h желанием. Я уверен, с вашей помощью я могу принять это за линии ворот, так сказатьСоздание наблюдаемой коллекции с использованием linq для XML
patsModel = (ObservableCollection<PatientModel>)
from templatesList in xDocument.Descendants("TemplateData")
select new ObservableCollection<PatientModel> {(
from template in templatesList.Elements("ACOData")
select new PatientModel {
EncounterId = ValueOrMin(Convert.ToInt32(template.Element("FOCUSED_READMISSIONS_ID").Value)),
PatientId = ValueOrMin(Convert.ToInt32(template.Element("PATIENT_ID").Value)),
EMPIID = template.Element("EMPI").Value,
PopulationPatientID = ValueOrMin(Convert.ToInt32(template.Element("POPULATION_PATIENT_ID").Value)),
FirstName = template.Element("FIRST_NAME").Value,
LastName = template.Element("LAST_NAME").Value,
Active = template.Element("ACTIVE").Value,
})
};
Когда я добавляю .ToList()
на второй в последнюю строку ... я получаю следующее исключение ...
Error 19 Argument 1: cannot convert from 'System.Collections.Generic.List<FRACOApplication.Models.PatientModel>' to 'FRACOApplication.Models.PatientModel'
, который говорит мне, что я что-то не согласен. Он ожидает список PatientModels, и он получает только PatientModel. Не уверен, что я делаю не так. Как выбрать список из xml?