mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 23:40:53 +08:00
Updated 返回数据 (markdown)
8
返回数据.md
8
返回数据.md
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user