mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 23:40:53 +08:00
update
15
多表查询.md
15
多表查询.md
@@ -18,6 +18,7 @@ class TestTypeInfo {
|
|||||||
public int ParentId { get; set; }
|
public int ParentId { get; set; }
|
||||||
public TestTypeParentInfo Parent { get; set; }
|
public TestTypeParentInfo Parent { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
public List<Topic> Topics { get; set; }
|
||||||
}
|
}
|
||||||
class TestTypeParentInfo {
|
class TestTypeParentInfo {
|
||||||
public int Id { get; set; }
|
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
|
## WhereCascade
|
||||||
|
|
||||||
多表查询时,像isdeleted每个表都给条件,挺麻烦的。WhereCascade使用后生成sql时,所有表都附上这个条件。
|
多表查询时,像isdeleted每个表都给条件,挺麻烦的。WhereCascade使用后生成sql时,所有表都附上这个条件。
|
||||||
|
|||||||
Reference in New Issue
Block a user