我正在使用带有实体框架的vb.net。
我遇到这种情况:
我有2个彼此相关的表:Table1(Id,vl1,vl2,vl3,vl4)和Table2(id,nm1,nm2,nm3,Table1ID)
我正在逐步创建一个查询:
Query = from t in context.Table1 select t
if condition1 then query = query.Where(Function(t2)t2.vl1> 10)
如果是condition2,那么Query = query.Where(Function(t2)t2.vl2< 4)
.....
现在,如果Condition3为true,我想从Table1中选择vl3 = 0的所有记录,我想过滤嵌套表Table2,其中nm1 =" x"。
如果condition3则查询= query.where(函数(t2)t2.vl3 = 0)??????????????
如何在查询中过滤table2?
谢谢!
答案 0 :(得分:0)
Table1应该是一个符合Table2中Childs实体的字段。
假设该字段名为Table2,您可以这样做:
dim q = query.where(Function(t2) t2.vl3=0)
.Select(Function(row) New With {.T1Row = row,
.ChildsT2Filtered = T1Row.Table2.Where(Function(xRow) xRow.nm1="x")}