mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-08 17:30:55 +08:00
update
3
更新日志.md
3
更新日志.md
@@ -20,6 +20,9 @@
|
|||||||
- 增加 ISelectGrouping 分组查询总量的方法 .Count();
|
- 增加 ISelectGrouping 分组查询总量的方法 .Count();
|
||||||
- 兼容 Vb.Net 无法使用 IncludeMany 的问题;
|
- 兼容 Vb.Net 无法使用 IncludeMany 的问题;
|
||||||
- 兼容 Vb.Net 无法使用 int? 类型 = 等号表达式解析;
|
- 兼容 Vb.Net 无法使用 int? 类型 = 等号表达式解析;
|
||||||
|
- 优化 实体基类的属性位置,优先排在最前面;
|
||||||
|
- 整理 实体类 Ctor 有构造函数的映射处理;[wiki](https://github.com/2881099/FreeSql/wiki/%e8%bf%94%e5%9b%9e%e6%95%b0%e6%8d%ae#dto-%E6%98%A0%E5%B0%84%E6%9F%A5%E8%AF%A2)
|
||||||
|
- 优化 实体属性,支持 protected set 属性;
|
||||||
|
|
||||||
## v0.12.21
|
## v0.12.21
|
||||||
|
|
||||||
|
|||||||
20
贪婪加载.md
20
贪婪加载.md
@@ -9,16 +9,28 @@ Select<Tag>().Limit(10).ToList<TestDto>();
|
|||||||
Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
|
Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
|
||||||
//相当于先映射 TestDto,再映射 a.Id, a.Title
|
//相当于先映射 TestDto,再映射 a.Id, a.Title
|
||||||
//注意:v0.11.6 以前的版本是只映射 a.Id, a.Title
|
//注意:v0.11.6 以前的版本是只映射 a.Id, a.Title
|
||||||
//注意:v0.11.20 如果 new 查询的就本实体,则不附加所有字段
|
//注意:v0.11.20 如果 new 本实体,则不附加所有字段
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new DTO { xxx = a.ext })
|
fsql.Select<Song>().ToList(a => new DTO { xxx = a.ext })
|
||||||
//这样写,附加所有映射,再额外映射 xxx
|
//情况1:附加所有映射,再额外映射 ext,返回 List<DTO>
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new Song { id = a.id })
|
fsql.Select<Song>().ToList(a => new Song { id = a.id })
|
||||||
//这样写,只查询 id
|
//情况2:只查询 id,返回 List<Song>
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new { id = a.id })
|
fsql.Select<Song>().ToList(a => new { id = a.id })
|
||||||
//这样写,只查询 id,返回匿名对象
|
//情况3:只查询 id,返回 List<匿名对象>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new DTO(a.id))
|
||||||
|
//情况4:只查询 id,返回 List<DTO>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new DTO(a.id) { xxx = a.ext })
|
||||||
|
//情况5:查询 id, ext,返回 List<DTO>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new Song(a.id))
|
||||||
|
//情况6:查询 id,返回 List<Song>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new Song(a.id) { xxx = a.ext })
|
||||||
|
//情况7:查询 id, ext,返回 List<Song>
|
||||||
```
|
```
|
||||||
这种映射支持单表/多表,在查询数据之前映射(不是先查询所有字段再到内存映射)
|
这种映射支持单表/多表,在查询数据之前映射(不是先查询所有字段再到内存映射)
|
||||||
|
|
||||||
|
|||||||
20
返回数据.md
20
返回数据.md
@@ -143,16 +143,28 @@ Select<Tag>().Limit(10).ToList<TestDto>();
|
|||||||
Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
|
Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
|
||||||
//相当于先映射 TestDto,再映射 a.Id, a.Title
|
//相当于先映射 TestDto,再映射 a.Id, a.Title
|
||||||
//注意:v0.11.6 以前的版本是只映射 a.Id, a.Title
|
//注意:v0.11.6 以前的版本是只映射 a.Id, a.Title
|
||||||
//注意:v0.11.20 如果 new 查询的就本实体,则不附加所有字段
|
//注意:v0.11.20 如果 new 本实体,则不附加所有字段
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new DTO { xxx = a.ext })
|
fsql.Select<Song>().ToList(a => new DTO { xxx = a.ext })
|
||||||
//这样写,附加所有映射,再额外映射 xxx
|
//情况1:附加所有映射,再额外映射 ext,返回 List<DTO>
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new Song { id = a.id })
|
fsql.Select<Song>().ToList(a => new Song { id = a.id })
|
||||||
//这样写,只查询 id
|
//情况2:只查询 id,返回 List<Song>
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new { id = a.id })
|
fsql.Select<Song>().ToList(a => new { id = a.id })
|
||||||
//这样写,只查询 id,返回匿名对象
|
//情况3:只查询 id,返回 List<匿名对象>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new DTO(a.id))
|
||||||
|
//情况4:只查询 id,返回 List<DTO>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new DTO(a.id) { xxx = a.ext })
|
||||||
|
//情况5:查询 id, ext,返回 List<DTO>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new Song(a.id))
|
||||||
|
//情况6:查询 id,返回 List<Song>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new Song(a.id) { xxx = a.ext })
|
||||||
|
//情况7:查询 id, ext,返回 List<Song>
|
||||||
```
|
```
|
||||||
这种映射支持单表/多表,在查询数据之前映射(不是先查询所有字段再到内存映射)
|
这种映射支持单表/多表,在查询数据之前映射(不是先查询所有字段再到内存映射)
|
||||||
|
|
||||||
|
|||||||
18
骚操作.md
18
骚操作.md
@@ -81,13 +81,25 @@ A, B, C 都有 id,Dto { id, a1, a2, b1, b2 },A.id 被映射。也可以指
|
|||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
fsql.Select<Song>().ToList(a => new DTO { xxx = a.ext })
|
fsql.Select<Song>().ToList(a => new DTO { xxx = a.ext })
|
||||||
//这样写,附加所有映射,再额外映射 xxx
|
//情况1:附加所有映射,再额外映射 ext,返回 List<DTO>
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new Song { id = a.id })
|
fsql.Select<Song>().ToList(a => new Song { id = a.id })
|
||||||
//这样写,只查询 id
|
//情况2:只查询 id,返回 List<Song>
|
||||||
|
|
||||||
fsql.Select<Song>().ToList(a => new { id = a.id })
|
fsql.Select<Song>().ToList(a => new { id = a.id })
|
||||||
//这样写,只查询 id,返回匿名对象
|
//情况3:只查询 id,返回 List<匿名对象>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new DTO(a.id))
|
||||||
|
//情况4:只查询 id,返回 List<DTO>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new DTO(a.id) { xxx = a.ext })
|
||||||
|
//情况5:查询 id, ext,返回 List<DTO>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new Song(a.id))
|
||||||
|
//情况6:查询 id,返回 List<Song>
|
||||||
|
|
||||||
|
fsql.Select<Song>().ToList(a => new Song(a.id) { xxx = a.ext })
|
||||||
|
//情况7:查询 id, ext,返回 List<Song>
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user