update

28810
2019-12-09 21:30:55 +08:00
parent 6694926c5a
commit 5e7e3b5318
4 changed files with 65 additions and 58 deletions

@@ -10,7 +10,7 @@ FreeSql是一个功能强大的NETStandard库用于对象关系映射程序(O
- [x] 支持导航属性查询,和延时加载;
- [x] 支持同步/异步数据库操作方法,丰富多彩的链式查询方法;
- [x] 支持读写分离、分表分库,租户设计;
- [x] 支持多种数据库MySql/SqlServer/PostgreSQL/Oracle/Sqlite
- [x] 支持多种数据库MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦
* [FreeSql入门](https://github.com/2881099/FreeSql/wiki/FreeSql%e5%85%a5%e9%97%a8)
* [安装](https://github.com/2881099/FreeSql/wiki/%e5%ae%89%e8%a3%85)

@@ -99,7 +99,7 @@ var logRepository = fsql.GetGuidRepository<Log>(null, oldname => $"{oldname}_{Da
## 兼容问题
FreeSql 支持五种数据库,分别为 MySql/SqlServer/PostgreSQL/Oracle/Sqlite虽然他们都为关系型数据库但各自有着独特的技术亮点有许多亮点值得我们使用
FreeSql 支持五种数据库,分别为 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦,虽然他们都为关系型数据库,但各自有着独特的技术亮点,有许多亮点值得我们使用;
比如 SqlServer 提供的 output inserted 特性,在表使用了自增或数据库定义了默认值的时候,使用它可以快速将 insert 的数据返回。PostgreSQL 也有相应的功能,如此方便却不是每个数据库都支持。

@@ -1,6 +1,13 @@
完整版本:年数-月-日-当日版本号FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
## v0.12.13
- 增加 达梦数据库 ODBC 适配,和单元测试,支持 CodeFirst 模式开发;
- 修复 Sqlite attachs 附加数据库别名 bug
- 增加 BaseEntity 物理删除方法 Delete(true)
- 整理 读写分离的查询代码;
## v0.12.12
- 修复 DbContext TrackList 对匿名对象处理的 bug[#150](https://github.com/2881099/FreeSql/issues/150)

@@ -51,62 +51,62 @@ public class S_SysConfig
## 默认类型映射
| csharp | MySql | SqlServer | PostgreSQL | Oracle | Sqlite |
| - | - | - | - | - | - |
| bool \| bool? | bit(1) | bit | bool | number(1) | boolean |
| sbyte \| sbyte? | tinyint(3) | smallint | int2 | number(4) | smallint |
| short \| short? | smallint(6) | smallint | int2 | number(6) | smallint |
| int \| int? | int(11) | int | int4 | number(11) | integer |
| long \| long? | bigint(20) | bigint | int8 | number(21) | integer |
| byte \| byte? | tinyint(3) unsigned | tinyint | int2 | number(3) | int2 |
| ushort \| ushort? | smallint(5) unsigned | int | int4 | number(5) | unsigned |
| uint \| uint? | int(10) unsigned | bigint | int8 | number(10) | decimal(10,0) |
| ulong \| ulong? | bigint(20) unsigned | decimal(20,0) | numeric(20,0) | number(20) | decimal(21,0) |
| double \| double? | double | float | float8 | float(126) | double |
| float \| float? | float | real | float4 | float(63) | float |
| decimal \| decimal? | decimal(10,2) | decimal(10,2) | numeric(10,2) | number(10,2) | decimal(10,2) |
| Guid \| Guid? | char(36) | uniqueidentifier | uuid | char(36 CHAR) | character(36) |
| TimeSpan \| TimeSpan? | time | time | time | interval day(2) to second(6) | bigint |
| DateTime \| DateTime? | datetime | datetime | timestamp | timestamp(6) | datetime |
| DateTimeOffset \| DateTimeOffset? | - | datetimeoffset | - | timestamp(6) with local time zone | - |
| Enum \| Enum? | enum | int | int4 | number(16) | mediumint |
| FlagsEnum \| FlagsEnum? | set | bigint | int8 | number(32) | bigint |
| byte[] | varbinary(255) | varbinary(255) | bytea | blob | blob |
| string | varchar(255) | nvarchar(255) | varchar(255) | nvarchar2(255) | nvarchar(255) |
| MygisPoint | point | - | - | - | - |
| MygisLineString | linestring | - | - | - | - |
| MygisPolygon | polygon | - | - | - | - |
| MygisMultiPoint | multipoint | - | - | - | - |
| MygisMultiLineString | multilinestring | - | - | - | - |
| MygisMultiPolygon | multipolygon | - | - | - | - |
| BitArray | - | - | varbit(64) | - | - |
| NpgsqlPoint \| NpgsqlPoint? | - | - | point | - | - |
| NpgsqlLine \| NpgsqlLine? | - | - | line | - | - |
| NpgsqlLSeg \| NpgsqlLSeg? | - | - | lseg | - | - |
| NpgsqlBox \| NpgsqlBox? | - | - | box | - | - |
| NpgsqlPath \| NpgsqlPath? | - | - | path | - | - |
| NpgsqlPolygon \| NpgsqlPolygon? | - | - | polygon | - | - |
| NpgsqlCircle \| NpgsqlCircle? | - | - | circle | - | - |
| (IPAddress Address, int Subnet) \| (IPAddress Address, int Subnet)? | - | - | cidr | - | - |
| IPAddress | - | - | inet | - | - |
| PhysicalAddress | - | - | macaddr | - | - |
| NpgsqlRange\<int\> \| NpgsqlRange\<int\>? | - | - | int4range | - | - |
| NpgsqlRange\<long\> \| NpgsqlRange\<long\>? | - | - | int8range | - | - |
| NpgsqlRange\<decimal\> \| NpgsqlRange\<decimal\>? | - | - | numrange | - | - |
| NpgsqlRange\<DateTime\> \| NpgsqlRange\<DateTime\>? | - | - | tsrange | - | - |
| PostgisPoint | - | - | geometry | - | - |
| PostgisLineString | - | - | geometry | - | - |
| PostgisPolygon | - | - | geometry | - | - |
| PostgisMultiPoint | - | - | geometry | - | - |
| PostgisMultiLineString | - | - | geometry | - | - |
| PostgisMultiPolygon | - | - | geometry | - | - |
| PostgisGeometry | - | - | geometry | - | - |
| PostgisGeometryCollection | - | - | geometry | - | - |
| Dictionary\<string, string\> | - | - | hstore | - | - |
| JToken | - | - | jsonb | - | - |
| JObject | - | - | jsonb | - | - |
| JArray | - | - | jsonb | - | - |
| 数组 | - | - | 以上所有类型都支持 | - | - |
| csharp | MySql | SqlServer | PostgreSQL | Oracle | Sqlite | 达梦 |
| - | - | - | - | - | - | - |
| bool \| bool? | bit(1) | bit | bool | number(1) | boolean | number(1) |
| sbyte \| sbyte? | tinyint(3) | smallint | int2 | number(4) | smallint | number(4) |
| short \| short? | smallint(6) | smallint | int2 | number(6) | smallint | number(6) |
| int \| int? | int(11) | int | int4 | number(11) | integer | number(11) |
| long \| long? | bigint(20) | bigint | int8 | number(21) | integer | number(21) |
| byte \| byte? | tinyint(3) unsigned | tinyint | int2 | number(3) | int2 | number(3) |
| ushort \| ushort? | smallint(5) unsigned | int | int4 | number(5) | unsigned | number(5) |
| uint \| uint? | int(10) unsigned | bigint | int8 | number(10) | decimal(10,0) | number(10) |
| ulong \| ulong? | bigint(20) unsigned | decimal(20,0) | numeric(20,0) | number(20) | decimal(21,0) | number(20) |
| double \| double? | double | float | float8 | float(126) | double | double |
| float \| float? | float | real | float4 | float(63) | float | real |
| decimal \| decimal? | decimal(10,2) | decimal(10,2) | numeric(10,2) | number(10,2) | decimal(10,2) | number(10,2) |
| Guid \| Guid? | char(36) | uniqueidentifier | uuid | char(36 CHAR) | character(36) | char(36) |
| TimeSpan \| TimeSpan? | time | time | time | interval day(2) to second(6) | bigint | - |
| DateTime \| DateTime? | datetime | datetime | timestamp | timestamp(6) | datetime | timestamp(6) |
| DateTimeOffset \| DateTimeOffset? | - | datetimeoffset | - | timestamp(6) with local time zone | - | timestamp(6) |
| Enum \| Enum? | enum | int | int4 | number(16) | mediumint | number(16) |
| FlagsEnum \| FlagsEnum? | set | bigint | int8 | number(32) | bigint | number(32) |
| byte[] | varbinary(255) | varbinary(255) | bytea | blob | blob | blob |
| string | varchar(255) | nvarchar(255) | varchar(255) | nvarchar2(255) | nvarchar(255) | nvarchar2(255) |
| MygisPoint | point | - | - | - | - | - |
| MygisLineString | linestring | - | - | - | - | - |
| MygisPolygon | polygon | - | - | - | - | - |
| MygisMultiPoint | multipoint | - | - | - | - | - |
| MygisMultiLineString | multilinestring | - | - | - | - | - |
| MygisMultiPolygon | multipolygon | - | - | - | - | - |
| BitArray | - | - | varbit(64) | - | - | - |
| NpgsqlPoint \| NpgsqlPoint? | - | - | point | - | - | - |
| NpgsqlLine \| NpgsqlLine? | - | - | line | - | - | - |
| NpgsqlLSeg \| NpgsqlLSeg? | - | - | lseg | - | - | - |
| NpgsqlBox \| NpgsqlBox? | - | - | box | - | - | - |
| NpgsqlPath \| NpgsqlPath? | - | - | path | - | - | - |
| NpgsqlPolygon \| NpgsqlPolygon? | - | - | polygon | - | - | - |
| NpgsqlCircle \| NpgsqlCircle? | - | - | circle | - | - | - |
| (IPAddress Address, int Subnet) \| (IPAddress Address, int Subnet)? | - | - | cidr | - | - | - |
| IPAddress | - | - | inet | - | - | - |
| PhysicalAddress | - | - | macaddr | - | - | - |
| NpgsqlRange\<int\> \| NpgsqlRange\<int\>? | - | - | int4range | - | - | - |
| NpgsqlRange\<long\> \| NpgsqlRange\<long\>? | - | - | int8range | - | - | - |
| NpgsqlRange\<decimal\> \| NpgsqlRange\<decimal\>? | - | - | numrange | - | - | - |
| NpgsqlRange\<DateTime\> \| NpgsqlRange\<DateTime\>? | - | - | tsrange | - | - | - |
| PostgisPoint | - | - | geometry | - | - | - |
| PostgisLineString | - | - | geometry | - | - | - |
| PostgisPolygon | - | - | geometry | - | - | - |
| PostgisMultiPoint | - | - | geometry | - | - | - |
| PostgisMultiLineString | - | - | geometry | - | - | - |
| PostgisMultiPolygon | - | - | geometry | - | - | - |
| PostgisGeometry | - | - | geometry | - | - | - |
| PostgisGeometryCollection | - | - | geometry | - | - | - |
| Dictionary\<string, string\> | - | - | hstore | - | - | - |
| JToken | - | - | jsonb | - | - | - |
| JObject | - | - | jsonb | - | - | - |
| JArray | - | - | jsonb | - | - | - |
| 数组 | - | - | 以上所有类型都支持 | - | - | - |
> 以上类型和长度是默认值,可手工设置,如 string 属性可指定 [Column(DbType = "varchar(max)")] 或者 [MaxLength(-1)]