update

2881099
2020-12-07 23:52:13 +08:00
parent bd8fafe22a
commit 27bd3ab428

@@ -3,7 +3,8 @@ static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, connectionString)
.Build(); //请务必定义成 Singleton 单例模式
class Topic {
class Topic
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
@@ -31,6 +32,35 @@ var list = fsql.Select<Topic>()
> 不分组求聚合值,请使用 ToAggregate 替代 ToList
## 导航属性
假如 Topic 有导航属性 CategoryCategory 又有导航属性 Area导航属性分组代码如下
```csharp
var list = fsql.Select<Topic>()
.GroupBy(a => new { a.Clicks, a.Category })
.ToList(a => new { a.Key.Category.Area.Name });
```
如上这样编写,会报错无法解析 a.Key.Category.Area.Name解决办法使用 Include
```csharp
var list = fsql.Select<Topic>()
.Include(a => a.Category.Area)
//必须添加此行,否则只分组 Category 而不包含它的下级导航属性 Area
.GroupBy(a => new { a.Clicks, a.Category })
.ToList(a => new { a.Key.Category.Area.Name });
```
但是,你还可以这样解决:
```csharp
var list = fsql.Select<Topic>()
.GroupBy(a => new { a.Clicks, a.Category, a.Category.Area })
.ToList(a => new { a.Key.Area.Name });
```
## API
| 方法 | 返回值 | 参数 | 描述 |