mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-03-02 04:00:58 +08:00
Updated 贪婪加载 (markdown)
10
贪婪加载.md
10
贪婪加载.md
@@ -17,7 +17,7 @@ Select<Tag>().Limit(10).ToList<TestDto>();
|
||||
|
||||
如:
|
||||
|
||||
A, B, C 都有 id,Dto { id, a1, a2, b1, b2 },如果 id = A.id,那可以直接映射 成功。
|
||||
A, B, C 都有 id,Dto { id, a1, a2, b1, b2 },A.id 被映射。也可以指定 id = C.id 映射。
|
||||
|
||||
> 友情提醒:在 dto 可以直接映射一个导航属性
|
||||
|
||||
@@ -27,17 +27,17 @@ ManyToOne/OneToOne 导航属性通过 ToList() 加载,这个方法有一个参
|
||||
|
||||
参数说明:
|
||||
|
||||
false: 返回 2级 LeftJoin/InnerJoin/RightJoin 对象;
|
||||
false: 返回 2级 Join 的数据;
|
||||
|
||||
true: 返回所有层级深度 LeftJoin/InnerJoin/RightJoin 的导航数据;
|
||||
true: 返回所有层级深度 Join 的导航数据;
|
||||
|
||||
如果查询中已经使用了 a.Parent.Parent 类似表达式,则可以无需 LeftJoin/InnerJoin/RightJoin 等操作。
|
||||
如果查询中已经使用了 a.Parent.Parent 类似表达式,则可以无需 LeftJoin 等操作。
|
||||
|
||||
如:
|
||||
|
||||
```csharp
|
||||
Select<Tag>().Where(a => a.Parent.Name == "1").ToList();
|
||||
//这样写,就不需要标记 Join 了,解析表达式时自动添加了 LeftJoin
|
||||
//这样写,不需要再标记 Join,解析表达式时自动处理成 LeftJoin
|
||||
```
|
||||
|
||||
如果导航属性没有使用,又想加载,可使用 Include 方法。
|
||||
|
||||
Reference in New Issue
Block a user