我有以下代码碎片
IQueryable<RssItem> rssItems = from prodotti prodotto in tuttiProdotti
join marca in tutteMarche on prodotto.marca equals marca.id
where prodotto.eliminato == 0
orderby prodotto.id ascending
select new GoogleShoppingRssItem
{
Author = AUTHOR,
//Availability = prodotto.disponibilita > 0 ? AvailabilityType.instock : AvailabilityType.outofstock,
//Availability = AvailabilityType.instock,
Title = prodotto.titolo,
};
当第一个版本的可用行未加注意时,我得到了 ArgumentExpeption
, 说 value
不是类型 Edm.Int32
。 我认为它与 prodotto.disponibilita
属性有关,即 int?
? (但DB上没有 null
值)。 第二个版本,不检查产品数量, 也存在同样的例外。
只是在对第二版可用性设置进行了评论之后,该代码才最终起作用,并且对表达方式进行了评价。
221. 弹药的界定如下:
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
[System.SerializableAttribute()]
[XmlType(Namespace="http://base.google.com/ns/1.0")]
[XmlRoot("availability", Namespace="http://base.google.com/ns/1.0", IsNullable=false)]
public enum AvailabilityType {
/// <remarks/>
[XmlEnum("in stock")]
instock,
/// <remarks/>
[XmlEnum("available for order")]
availablefororder,
/// <remarks/>
[XmlEnum("out of stock")]
outofstock,
/// <remarks/>
preorder,
}
在 LINQ 选择语句中设置 < code>enum 属性是否有什么我应该知道的?