我的数据库中有两个表:
TableA:
Id, ColA, ColB, Value IsSelectable
1 A B value1 False
2 C D value2 True
3 K M value3 True
TableB:
Id, ColA, ColB
1 A B
2 K M
现在我想创建一个 Linq 查询,从 TableA 中选择所有行:IsSelectable = true 并且 ColA 等于 TableB 中的 ColA 并且 ColB 等于 TableB 中的 ColB。
在上面的示例中,我想返回第 3 行,因为这是唯一满足我要求的行。
我试过这个:
from ta in _db.TableA
from tb in _db.TableB
where ta.IsSelectable == true
&& (ta.ColA == tb.ColA && ta.ColB == tb.ColB)
select ta;
上述查询的问题是,如果我尝试在调试器中显示其值,则查询超时。
我还尝试将我将 TableA 连接到 TableB 的两个表连接起来。但是当尝试从连接结果中选择 TableA 时,我无法创建新的 TableA 记录,因为我的 Id 是数据库创建的并且没有设置器。
我怎样才能做到这一点?