我有一个使用 EAV 设计表的情况,我是这个设计的新手,我对选择查询感到震惊。下面是我的查询结构和数据。
TABLE1:
Id KeyName
1 Name
2 Age
TABLE2:
ID TABLE1_ID VALUE
1 1 ABC
2 2 12
3 1 CDF
4 2 14
5 1 XYZ
6 2 13
7 1 CSF
8 2 10
EXPECTED OUTPUT: Get all the values which are greater than 12 AND Value contains "C".
i.e.,
Table2_ID Result Table1_KeyName
1 ABC Name
2 12 Age
3 CDF Name
4 14 Age
我尝试过的选项是:
Var temp = (from c in Table2
where c.Value > 12 && c.Table1.KeyName.Contains("C")
Select new
{
ID = c.ID,
Result = C.Value
});
上面的查询没有返回任何结果,因为过滤器(在 where 子句中)是跨行的。我什至在 where 子句中尝试了“OR”条件,它返回了我所有的东西。请帮帮我。