在单列上与LINQ相交

时间:2011-06-20 11:49:59

标签: c# .net linq

我有2个查询。

var suppliers = 
    from u in db.Users
    join s in db.Suppliers
    on u.SupplierID equals s.supplierID
    select u;

var AreaServiced = 
    from a in db.Areas_Serviceds
    where a.Area.AreaName == AreasServiced
    where a.Area.State == StateServiced
    select a;

我希望与他们相交以获取所有供应商的详细信息。所以他们只是在supplierID上交叉。

我无法使用suppliers = suppliers.intersect(AreaServiced)

因为供应商和区域服务不具有相同的列。

我目前在一个statemnet中没有它,因为我不总是希望htem交叉(如果用户不关心区域服务,那么我将jsut显示补充者而不关心他们服务的地方)

所以稍后我可以做一些像If(!customerCaresAboutAreaServiced){intersect two tables}

otherwsie我会忽略第二张表。

1 个答案:

答案 0 :(得分:3)

您是否尝试过两次查询之间的Linq联接? 像

这样的东西
var intersection = 
    from su in suppliers
    join areas in AreaServiced 
    on su.SupplierID equals areas.SupplierID