mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 23:40:53 +08:00
Updated Lazy Loading (markdown)
@@ -24,9 +24,9 @@ public class OrderDetail {
|
||||
}
|
||||
```
|
||||
|
||||
> 延时加载功能默认被关闭的,使用此功能请时,请在申明处开启;
|
||||
> The lazy loading function is turned off by default. When using this function, please turn it on at the place of declaration.
|
||||
|
||||
> 延时加载功能,依赖 FreeSql.Extensions.LazyLoading 包,请前往 nuget 下载;
|
||||
> Lazy loading function depends on FreeSql.Extensions.LazyLoading package, please go to NuGet to download.
|
||||
|
||||
```csharp
|
||||
static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
@@ -37,10 +37,10 @@ static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
//Be sure to define as singleton mode
|
||||
.Build();
|
||||
|
||||
var order = fsql.Select<Order>().Where(a => a.OrderID == 1).ToOne(); //查询订单表
|
||||
var orderDetail1 = order.OrderDetails; //第一次访问,查询数据库
|
||||
var orderDetail2 = order.OrderDetails; //第二次访问,不查
|
||||
var order1 = orderDetail1.FirstOrDefault(); //访问导航属性,此时不查数据库,因为 OrderDetails 查询出来的时候已填充了该属性
|
||||
var order = fsql.Select<Order>().Where(a => a.OrderID == 1).ToOne(); //Query from Order table
|
||||
var orderDetail1 = order.OrderDetails; //First visit, query the database
|
||||
var orderDetail2 = order.OrderDetails; //Second visit, do not query from the database
|
||||
var order1 = orderDetail1.FirstOrDefault(); //Access the navigation properties without querying the database at this time. Because this property is already populated when OrderDetails is queried
|
||||
```
|
||||
Console output:
|
||||
|
||||
@@ -55,7 +55,7 @@ FROM `OrderDetail` a
|
||||
WHERE (a.`OrderId` = 1)
|
||||
```
|
||||
|
||||
FreeSql 延时加载支持1对1、多对1、1对多、多对多关系的导航属性,前三者大小同异,以下我们单独介绍多对多关系。
|
||||
FreeSql lazy loading supports navigation properties of One-to-One, Many-to-One, One-to-Many, and Many-to-Many relationships. The first three are similar. We separately introduce the Many-to-Many relationship.
|
||||
|
||||
## Many-to-Many Lazy Loading
|
||||
|
||||
|
||||
Reference in New Issue
Block a user