efcore inner join 带where
时间: 2023-10-17 20:05:34 浏览: 94
可以使用以下语法:
```csharp
var query = from a in context.TableA
join b in context.TableB on a.PrimaryKey equals b.ForeignKey
where a.SomeColumn == someValue && b.AnotherColumn == anotherValue
select new { a, b };
```
或者使用方法语法:
```csharp
var query = context.TableA
.Join(context.TableB, a => a.PrimaryKey, b => b.ForeignKey, (a, b) => new { a, b })
.Where(x => x.a.SomeColumn == someValue && x.b.AnotherColumn == anotherValue)
.Select(x => new { x.a, x.b });
```
这个查询的意思是在两个表之间进行内部连接,其中 `TableA` 的主键与 `TableB` 的外键相匹配。然后,我们在结果中选择满足特定条件的列,并将它们作为匿名对象返回。注意,在 `join` 之后,我们使用 `where` 过滤器来限制结果集。
阅读全文