0
檢查空收集我使用LINQ的對象轉換爲XML,並卡住了下面一個問題(簡化爲簡潔起見):的LINQ投影如何從select語句
public class Job
{
public string JobNumber{ get; set; }
public string ClientType { get; set; }
public List<ChildItem> ChildItems { get; set; }
}
public class ChildItem
{
public string Id{ get; set; }
}
var data = DAL.GetJobs();
var xml = new XElement("records",
data.Select(i => new XElement("record",
new XAttribute("JobNumber", i.JobNumber),
new XAttribute("ClientType", i.ClientType),
new XElement("Items",
i.ChildItems.Select(j=>new XElement("Item",
new XAttribute("ID", j.Id)
))))));
上面的代碼工作正常時ChildItems被初始化並給出
<records>
<record JobNumber="12" ClientType="ABC">
<Items>
<Item ID="1"/>
<Item ID="2"/>
</Items>
</record>
</records>
但是,當Childitems在作業中爲空時,會引發錯誤。如果爲空,我想輸出的是:
<records>
<record JobNumber="12" ClientType="ABC">
<Items>
</Items>
</record>
</records>
但是,我無法弄清楚如何從Select中檢查null?
任何解決方案?