由于对象初始值设定项的指定方式,不能在其中设置属性的属性。相反,在Linq查询中创建一个ConsentForImageuse对象作为let绑定,并将其分配给上载对象的ConsentForImageuse属性。如果不进一步了解您的精确对象模型,我已经做了一些假设,但这应该对您有用。
var uploads = from el1 in el.Descendants("Uploads")
let consent = new ConsentForImageUse() { Text = el1.Element("SomeNode") != null ? el1.Element("SomeNode").Value : string.Empty }
select new Upload
{
Comments = el1.Element("Comments") != null ? el1.Element("Comments").Value : string.Empty,
ConsentForImageUse = consent,
DateImageProduced = el1.Element("DateImageProduced") != null ? el1.Element("DateImageProduced").Value : string.Empty,
ImageTakenBy = el1.Element("ImageTakenBy") != null ? el1.Element("ImageTakenBy").Value : string.Empty
};
list.Add(uploads.First());