Updated 返回数据 (markdown)

AlexLEWIS
2021-09-24 11:36:39 +08:00
parent 31a997a527
commit 46d61407f8

@@ -1,6 +1,6 @@
**中文** | [English](Return-Data)
FreeSql 采用 ExpressionTree 优化读取速,如果懂技术的你一定知道 .NETCore 技术下除了原生代码,最快就是 Emit 和 ExpressionTree。项目在初期使用的反射+缓存,虽然 .NETCore 优化了反射性能但经过与Dapper性能测试对比之后发现仍然有一定差距改成 ExpresstionTree 后才与 Dapper 性能相当。FreeSql 支持的类型较多,实现 ExpressionTree 的复杂度较大,有兴趣的朋友可以翻阅源代码。
FreeSql 采用 ExpressionTree 优化读取速,如果懂技术的你一定知道 .NET Core 技术下除了原生代码,最快就是 Emit 和 ExpressionTree。项目在初期使用的反射 + 缓存,虽然 .NET Core 优化了反射性能,但经过与 Dapper 性能测试对比之后,发现仍然有一定差距,改成 ExpresstionTree 后才与 Dapper 性能相当。FreeSql 支持的类型较多,实现 ExpressionTree 的复杂度较大,有兴趣的朋友可以翻阅源代码。
## 1、返回单条记录
```csharp
@@ -64,18 +64,18 @@ List<匿名类> t10 = fsql.Select<Topic>().ToList(a => new {
> 常量机制早期留给了原生SQL如果真的需要返回该字符串"'xxx'"
### 6、忽略字段返回
## 6、忽略字段返回
参考实现https://github.com/dotnetcore/FreeSql/issues/528
### 7、ToSql
## 7、ToSql
每个 ToList 都可以使用 ToSql 返回 SQL String有两个选项
- FieldAliasOptions.AsIndex(默认) 自动产生 as1, as2, as3 .... 字段别名,可以最大程度防止多表,存在相同字段的问题;
- FieldAliasOptions.AsProperty 使用属性名作为字段别名,合适使用二次构造 SQL 再次执行;
### 8、执行SQL
## 8、执行SQL
```csharp
class xxx {
public int Id { get; set; }