我正在使用Linq To Xml从DataSet创建一个Xml文件。此数据集具有1:M关系的Customer,Orders表。Linq to Xml - 有条件地创建XAttribute
这里是我的代码片段 -
如果任何当前客户订单的类型,然后我试图几个属性添加到的XElement“网上订单”的“在线”。否则,如果没有“在线”类型的订单,那么我想创建一个空的XElement,如<OnlineOrder/>
。
new XElement("OnlineOrder", ((customerDT.FindByCustomerId(x.CustomerId).GetOrdersRows().Where(o=>o.Type=="Online").Any())
? customerDT.FindByCustomerId(x.CustomerId).GetOrdersRows().Where(p1 => p1.Type == "Online").Select(
(o1 => new XAttribute("Amount", o1.Amount)//,
//new XAttribute("CardType", o1.CardType),
//new XAttribute("Quantity", o1.Quantity)
))
: null)),
上面的代码工作正常。
但是,如果我去掉两行那里我加入一些额外的属性,我得到几个编译错误,其中一人是 -
Invalid expression term ':'
请指导为什么发生这种情况。
谢谢!
非常感谢!不知道为什么它没有进入我的脑海:-(无论如何,将它分解成方法 - 应该为exp创建方法 - 返回XAttribute集合对不起,这是我对Linq2Xml的第一个实验,所以如果你可以指定我的代码中最引人注目的密集区域可以分解 - 请为此指导。干杯! – iniki 2012-01-18 22:09:29