update

28810
2019-02-28 18:16:53 +08:00
parent 3d294775a5
commit 763923f4b6

@@ -45,10 +45,19 @@ FreeSql 支持五种数据库,分别为 MySql/SqlServer/PostgreSQL/Oracle/Sqli
比如 SqlServer 提供的 output inserted 特性,在表使用了自增或数据库定义了默认值的时候,使用它可以快速将 insert 的数据返回。PostgreSQL 也有相应的功能,如此方便却不是每个数据库都支持。
IRepository 接口定义:
```csharp
TEntity Insert(TEntity entity);
Task<TEntity> InsertAsync(TEntity entity);
```
于是我们现实了两种仓库层实现:
- BaseRepository 采用了 ExecuteInserted 执行;
- GuidRepository 采用了 ExecuteAffrows 执行(兼容性好);
当采用了不支持的数据库时Sqlite/MySql/Oracle建议如下
当采用了不支持的数据库时Sqlite/MySql/Oracle建议
* 使用 uuid 作为主键(即 Guid
* 避免使用数据库的默认值功能;