0
这就是我得到:如何改进LINQ查询?
int? productID = (ClientProduct != null ? (int?)ClientProduct.ProductID : null);
result = (from po in ((Chase_Media_Pro_Entity_Model)this.NavigationItem.ObjectContext).raPurchaseOrder_List
where po.ClientID == Client.CustomerID
&& ((object.Equals(po.ClientProductID, productID)) || (po.ClientProductID == (productID ?? po.ClientProductID)))
&& (po.Is_Active == (isActive ?? po.Is_Active))
&& (po.IsApproved == (isApproved ?? po.IsApproved))
orderby po.Is_Active descending, po.IsApproved ascending
select po);
是否有改善这一行的方式:
&& ((object.Equals(po.ClientProductID, productID)) || (po.ClientProductID == (productID ?? po.ClientProductID)))
这是我能得到正确的结果的唯一途径。
什么'ClientProduct.ProductID'的类型?你的代码看起来很奇怪。 – 2011-06-03 10:21:00
@Danny:int。你看起来很奇怪吗?它只是处理NULL值。 – Willem 2011-06-03 10:26:31
那你为什么要用'object.Equals'来比较两个整数...... – 2011-06-03 10:27:58