使用多个Where条件展开()

时间:2014-02-13 21:53:01

标签: c# asp.net entity-framework lambda

在我的申请表中,我有以下表格:

return (
  (
    from o in ctxImport.TableA.Expand("TableD/TableC,TableD/TableB") 
    where o.TableAID == ID select o
  ) as DataServiceQuery<DataService.TableA>
);

这里TableA,TableB,TableC是父表。 TableD是这3个表之间的映射表。

上面的代码只有TableA主键上的where条件。我需要在TableB主键的上面添加一个where where条件。

输出列表应该相同。

ctxImport是数据库实体的对象。

你能帮我解决这些问题吗?

1 个答案:

答案 0 :(得分:0)

你可以做到

from o in ctxImport.TableA.Expand("TableD/TableC,TableD/TableB") 
where o.TableAID == ID select o
   && o.TableD.Any(d => d.TableB.Any(b => b.Id == condition))

假设TableDTableB是集合导航属性。