【发布时间】:2010-06-01 18:10:00
【问题描述】:
我有一张订单表。状态在与订单相连的土壤订单上。 我只想退回加入的土壤订单不具有“已移除”状态的订单。
我以为
join sso in db.SoilSamplingOrders on ord.order_id equals sso.order_id
where sso.status.Equals("Removed")!=true
但是没有返回任何记录!
感谢您的帮助(以下查询)
var query =
from ord in db.Orders
join sso in db.SoilSamplingOrders on ord.order_id equals sso.order_id
where sso.status.Equals("Removed")!=true
join cust in db.Customers on ord.customer_id equals cust.customer_id
select new Listing
{
assigned_to = sso.assigned_to,
company = cust.company,
order_id = ord.order_id,
order_created = ord.order_created,
customer_id = ord.customer_id,
order_created_by_employ_id = ord.order_created_by_employ_id,
first_farm_on_order = (from f in db.SoilSamplingSubJobs
where f.order_id == ord.order_id
select new ListingSubJob { first_farm_on_order = f.farm }).
AsEnumerable().First().first_farm_on_order,
total_fields = (from f in db.SoilSamplingSubJobs
where f.order_id == ord.order_id
select new { f.sssj_id }).AsEnumerable().Count(),
total_area = (float?) (from f in db.SoilSamplingSubJobs
where f.order_id == ord.order_id && f.area_ha != null
select f.area_ha ).Sum() ?? 0 ,
total_area_ph_density = (float?)(from f in db.SoilSamplingSubJobs
where f.order_id == ord.order_id && f.ph != null
select f.ph).Sum() ?? 0,
};
【问题讨论】:
-
检查生成的 SQL...这可能会为您提供关于为什么会发生这种情况的线索。另外,如果您使用
sso.status != "Removed"而不是sso.status.Equals("Removed")!=true,会发生什么? -
我试过 sso.status != "Removed" 但不高兴。你怎么看SQL?
-
对不起,在“如何查看生成的 sql”中找到了一些东西。还是卡住了!!帮助任何人?