mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 15:30:53 +08:00
update
15
多表查询.md
15
多表查询.md
@@ -18,6 +18,7 @@ class TestTypeInfo {
|
||||
public int ParentId { get; set; }
|
||||
public TestTypeParentInfo Parent { get; set; }
|
||||
public string Name { get; set; }
|
||||
public List<Topic> Topics { get; set; }
|
||||
}
|
||||
class TestTypeParentInfo {
|
||||
public int Id { get; set; }
|
||||
@@ -163,6 +164,20 @@ var subquery = select.ToSql(a => new {
|
||||
});
|
||||
```
|
||||
|
||||
## AsSelect
|
||||
|
||||
```csharp
|
||||
fsql.Select<TestTypeInfo>().Where(a => a.Topics.AsSelect().Any(b => b.Title.Contains("xx"))).ToSql();
|
||||
```
|
||||
|
||||
效果等同于:
|
||||
|
||||
```csharp
|
||||
fsql.Select<TestTypeInfo>().Where(a => fsql.Select<Topic>().Any(b => b.Title.Contains("xx"))).ToSql();
|
||||
```
|
||||
|
||||
将集合属性快速转换为 ISelect 进行子查询操作。
|
||||
|
||||
## WhereCascade
|
||||
|
||||
多表查询时,像isdeleted每个表都给条件,挺麻烦的。WhereCascade使用后生成sql时,所有表都附上这个条件。
|
||||
|
||||
Reference in New Issue
Block a user