update

28810
2019-12-22 20:05:41 +08:00
parent 4da65a971e
commit 82b6049d80
4 changed files with 50 additions and 11 deletions

@@ -20,6 +20,9 @@
- 增加 ISelectGrouping 分组查询总量的方法 .Count()
- 兼容 Vb.Net 无法使用 IncludeMany 的问题;
- 兼容 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

@@ -9,16 +9,28 @@ Select<Tag>().Limit(10).ToList<TestDto>();
Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
//相当于先映射 TestDto再映射 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 })
//这样写,附加所有映射,再额外映射 xxx
//情况1附加所有映射,再额外映射 ext返回 List<DTO>
fsql.Select<Song>().ToList(a => new Song { id = a.id })
//这样写,只查询 id
//情况2只查询 id,返回 List<Song>
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>
```
这种映射支持单表/多表,在查询数据之前映射(不是先查询所有字段再到内存映射)

@@ -143,16 +143,28 @@ Select<Tag>().Limit(10).ToList<TestDto>();
Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
//相当于先映射 TestDto再映射 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 })
//这样写,附加所有映射,再额外映射 xxx
//情况1附加所有映射,再额外映射 ext返回 List<DTO>
fsql.Select<Song>().ToList(a => new Song { id = a.id })
//这样写,只查询 id
//情况2只查询 id,返回 List<Song>
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>
```
这种映射支持单表/多表,在查询数据之前映射(不是先查询所有字段再到内存映射)

@@ -81,13 +81,25 @@ A, B, C 都有 idDto { id, a1, a2, b1, b2 }A.id 被映射。也可以指
```csharp
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 })
//这样写,只查询 id
//情况2只查询 id,返回 List<Song>
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>
```
---