From bdf32ea73600081fe3808a9424051a62dec19c06 Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Fri, 3 Jan 2020 13:03:11 +0800
Subject: [PATCH] ## v1.0.1 # 174 #170 #162
---
.../BaseEntity.cs | 8 +-
.../BaseEntityAsync.cs | 8 +-
.../BaseEntityReadOnly.cs | 8 +-
.../BaseEntityTree.cs | 8 +-
.../FreeSql.Extensions.BaseEntity.csproj | 12 +-
.../Net40/BaseEntity.cs | 110 +++++++++++++++
.../Net40/BaseEntityReadOnly.cs | 130 ++++++++++++++++++
.../FreeSql.Extensions.EfCoreFluentApi.csproj | 2 +-
.../FreeSql.Extensions.JsonMap.csproj | 2 +-
.../FreeSql.Extensions.LazyLoading.csproj | 2 +-
.../FreeSql.Generator.csproj | 2 +-
FreeSql.DbContext/FreeSql.DbContext.csproj | 2 +-
FreeSql.DbContext/FreeSql.DbContext.xml | 7 -
FreeSql.Repository/FreeSql.Repository.csproj | 2 +-
FreeSql/FreeSql.csproj | 2 +-
.../FreeSql.Provider.MsAccess.csproj | 2 +-
.../FreeSql.Provider.MySql.csproj | 2 +-
.../FreeSql.Provider.MySqlConnector.csproj | 2 +-
.../FreeSql.Provider.Odbc.csproj | 2 +-
.../FreeSql.Provider.Oracle.csproj | 2 +-
.../FreeSql.Provider.PostgreSQL.csproj | 2 +-
.../FreeSql.Provider.SqlServer.csproj | 2 +-
.../FreeSql.Provider.Sqlite.csproj | 2 +-
readme.md | 2 +-
24 files changed, 290 insertions(+), 33 deletions(-)
create mode 100644 Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntity.cs
create mode 100644 Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntityReadOnly.cs
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntity.cs b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntity.cs
index 7ef0b544..a3fa6cbf 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntity.cs
+++ b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntity.cs
@@ -1,4 +1,6 @@
-using FreeSql;
+#if netcore
+
+using FreeSql;
using FreeSql.DataAnnotations;
using System;
using System.Data;
@@ -142,4 +144,6 @@ namespace FreeSql
return this.Repository.InsertOrUpdate(this as TEntity);
}
}
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityAsync.cs b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityAsync.cs
index 13a3c29e..e9b33458 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityAsync.cs
+++ b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityAsync.cs
@@ -1,4 +1,6 @@
-using FreeSql;
+#if netcore
+
+using FreeSql;
using FreeSql.DataAnnotations;
using System;
using System.Threading.Tasks;
@@ -124,4 +126,6 @@ namespace FreeSql
return this.Repository.InsertOrUpdateAsync(this as TEntity);
}
}
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityReadOnly.cs b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityReadOnly.cs
index 4b491433..4d0e2ee0 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityReadOnly.cs
+++ b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityReadOnly.cs
@@ -1,4 +1,6 @@
-using FreeSql.DataAnnotations;
+#if netcore
+
+using FreeSql.DataAnnotations;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -199,4 +201,6 @@ namespace FreeSql
return item;
}
}
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityTree.cs b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityTree.cs
index e805aa6b..abb28109 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityTree.cs
+++ b/Extensions/FreeSql.Extensions.BaseEntity/BaseEntityTree.cs
@@ -1,4 +1,6 @@
-using FreeSql;
+#if netcore
+
+using FreeSql;
using FreeSql.DataAnnotations;
using System;
using System.Collections.Generic;
@@ -161,4 +163,6 @@ namespace FreeSql
return ret;
}
}
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
index f245cee8..2f9cbbe7 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
+++ b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
@@ -1,8 +1,8 @@
- netstandard2.0
- 1.0.0
+ netcoreapp31;netcoreapp21;net4.0;
+ 1.0.1
true
YeXiangQin
BaseEntity 是一种极简单的 CodeFirst 开发方式,特别对单表或多表CRUD,利用继承节省了每个实体类的重复属性(创建时间、ID等字段),软件删除等功能,进行 crud 操作时不必时常考虑仓储的使用.
@@ -31,4 +31,12 @@
+
+
+
+
+
+ netcore
+
+
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntity.cs b/Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntity.cs
new file mode 100644
index 00000000..03bfa3a9
--- /dev/null
+++ b/Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntity.cs
@@ -0,0 +1,110 @@
+#if netcore
+#else
+
+using FreeSql;
+using FreeSql.DataAnnotations;
+using System;
+using System.Data;
+using System.Diagnostics;
+using System.Linq.Expressions;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace FreeSql
+{
+ ///
+ /// 包括 CreateTime/UpdateTime/IsDeleted、CRUD 方法、以及 ID 主键定义 的实体基类
+ ///
+ /// 当 TKey 为 int/long 时,Id 主键被设为自增值主键
+ ///
+ ///
+ ///
+ [Table(DisableSyncStructure = true)]
+ public abstract class BaseEntity : BaseEntity where TEntity : class
+ {
+ static BaseEntity()
+ {
+ var tkeyType = typeof(TKey)?.NullableTypeOrThis();
+ if (tkeyType == typeof(int) || tkeyType == typeof(long))
+ Orm.CodeFirst.ConfigEntity(typeof(TEntity),
+ t => t.Property("Id").IsIdentity(true));
+ }
+
+ ///
+ /// 主键
+ ///
+ [Column(Position = 1)]
+ public virtual TKey Id { get; set; }
+
+ ///
+ /// 根据主键值获取数据
+ ///
+ ///
+ ///
+ public static TEntity Find(TKey id)
+ {
+ var item = Select.WhereDynamic(id).First();
+ (item as BaseEntity)?.Attach();
+ return item;
+ }
+ }
+
+ ///
+ /// 包括 CreateTime/UpdateTime/IsDeleted、以及 CRUD 异步和同步方法的实体基类
+ ///
+ ///
+ [Table(DisableSyncStructure = true)]
+ public abstract class BaseEntity : BaseEntityReadOnly where TEntity : class
+ {
+ bool DeletedPrivate(bool value)
+ {
+ if (this.Repository == null)
+ return Orm.Delete(this as TEntity)
+ .ExecuteAffrows() == 1;
+
+ return this.Repository.Delete(this as TEntity) == 1;
+ }
+ ///
+ /// 删除数据
+ ///
+ ///
+ public virtual bool Delete() => this.DeletedPrivate(true);
+
+ ///
+ /// 更新数据
+ ///
+ ///
+ public virtual bool Update()
+ {
+ if (this.Repository == null)
+ return Orm.Update()
+ .SetSource(this as TEntity).ExecuteAffrows() == 1;
+
+ return this.Repository.Update(this as TEntity) == 1;
+ }
+ ///
+ /// 插入数据
+ ///
+ public virtual TEntity Insert()
+ {
+ if (this.Repository == null)
+ this.Repository = Orm.GetRepository();
+
+ return this.Repository.Insert(this as TEntity);
+ }
+
+ ///
+ /// 更新或插入
+ ///
+ ///
+ public virtual TEntity Save()
+ {
+ if (this.Repository == null)
+ this.Repository = Orm.GetRepository();
+
+ return this.Repository.InsertOrUpdate(this as TEntity);
+ }
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntityReadOnly.cs b/Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntityReadOnly.cs
new file mode 100644
index 00000000..33ff1a2f
--- /dev/null
+++ b/Extensions/FreeSql.Extensions.BaseEntity/Net40/BaseEntityReadOnly.cs
@@ -0,0 +1,130 @@
+#if netcore
+#else
+
+using FreeSql.DataAnnotations;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
+using System.Diagnostics;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Threading;
+
+namespace FreeSql
+{
+ ///
+ /// 包括 CreateTime/UpdateTime/IsDeleted 的实体基类
+ ///
+ [Table(DisableSyncStructure = true)]
+ public abstract class BaseEntity
+ {
+ static IFreeSql _ormPriv;
+ ///
+ /// 全局 IFreeSql orm 对象
+ ///
+ public static IFreeSql Orm => _ormPriv ?? throw new Exception(@"使用前请初始化 BaseEntity.Initialization(new FreeSqlBuilder()
+.UseAutoSyncStructure(true)
+.UseConnectionString(DataType.Sqlite, ""data source=test.db;max pool size=5"")
+.Build());");
+
+ ///
+ /// 初始化BaseEntity
+ /// BaseEntity.Initialization(new FreeSqlBuilder()
+ ///
+ /// .UseAutoSyncStructure(true)
+ ///
+ /// .UseConnectionString(DataType.Sqlite, "data source=test.db;max pool size=5")
+ ///
+ /// .Build());
+ ///
+ /// IFreeSql orm 对象
+ public static void Initialization(IFreeSql fsql)
+ {
+ _ormPriv = fsql;
+ _ormPriv.Aop.CurdBefore += (s, e) => Trace.WriteLine(e.Sql + "\r\n");
+ }
+ }
+
+ public abstract class BaseEntityReadOnly : BaseEntity where TEntity : class
+ {
+ ///
+ /// 查询数据
+ ///
+ ///
+ public static ISelect Select
+ {
+ get
+ {
+ var select = Orm.Select().TrackToList(TrackToList); //自动为每个元素 Attach;
+ return select;
+ }
+ }
+
+ static void TrackToList(object list)
+ {
+ if (list == null) return;
+ var ls = list as IList;
+ if (ls == null)
+ {
+ var ie = list as IEnumerable;
+ if (ie == null) return;
+ var isFirst = true;
+ foreach (var item in ie)
+ {
+ if (item == null) return;
+ if (isFirst)
+ {
+ isFirst = false;
+ var itemType = item.GetType();
+ if (itemType == typeof(object)) return;
+ if (itemType.FullName.StartsWith("Submission#")) itemType = itemType.BaseType;
+ if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
+ if (item is BaseEntity == false) return;
+ }
+ (item as BaseEntity)?.Attach();
+ }
+ return;
+ }
+ if (ls.Any() == false) return;
+ if (ls.FirstOrDefault() is BaseEntity == false) return;
+ if (Orm.CodeFirst.GetTableByEntity(typeof(TEntity))?.Primarys.Any() != true) return;
+ foreach (var item in ls)
+ (item as BaseEntity)?.Attach();
+ }
+
+ ///
+ /// 查询条件,Where(a => a.Id > 10),支持导航对象查询,Where(a => a.Author.Email == "2881099@qq.com")
+ ///
+ /// lambda表达式
+ ///
+ public static ISelect Where(Expression> exp) => Select.Where(exp);
+ ///
+ /// 查询条件,Where(true, a => a.Id > 10),支导航对象查询,Where(true, a => a.Author.Email == "2881099@qq.com")
+ ///
+ /// true 时生效
+ /// lambda表达式
+ ///
+ public static ISelect WhereIf(bool condition, Expression> exp) => Select.WhereIf(condition, exp);
+
+ ///
+ /// 仓储对象
+ ///
+ protected IBaseRepository Repository { get; set; }
+
+ ///
+ /// 附加实体,在更新数据时,只更新变化的部分
+ ///
+ public TEntity Attach()
+ {
+ if (this.Repository == null)
+ this.Repository = Orm.GetRepository();
+
+ var item = this as TEntity;
+ this.Repository.Attach(item);
+ return item;
+ }
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj b/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj
index 671086f8..8da4680f 100644
--- a/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj
+++ b/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj
@@ -2,7 +2,7 @@
netstandard2.0
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 扩展包实现,使用 FluentApi 方式配置实体模型,使用习惯接近 EFCore,方便过渡.
diff --git a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
index 9d322a96..68cb7529 100644
--- a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
+++ b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 扩展包,可实现实体类属性为对象时,以JSON形式映射存储.
diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
index 99caf79a..79b3dc13 100644
--- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
+++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 扩展包,可实现【延时加载】属性.
diff --git a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
index 4235f29d..a1747bac 100644
--- a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
+++ b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
@@ -12,7 +12,7 @@
使用 FreeSql 快速生成数据库的实体类,安装:dotnet tool install -g FreeSql.Generator
https://github.com/2881099/FreeSql
https://github.com/2881099/FreeSql
- 1.0.0
+ 1.0.1
FreeSql DbFirst 实体生成器
diff --git a/FreeSql.DbContext/FreeSql.DbContext.csproj b/FreeSql.DbContext/FreeSql.DbContext.csproj
index bbed01ca..c5c5dcf2 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.csproj
+++ b/FreeSql.DbContext/FreeSql.DbContext.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index d9f91124..dc0203b8 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -110,13 +110,6 @@
清空状态数据
-
-
- 根据 lambda 条件删除数据
-
-
-
-
添加
diff --git a/FreeSql.Repository/FreeSql.Repository.csproj b/FreeSql.Repository/FreeSql.Repository.csproj
index 41577a7e..6a050d43 100644
--- a/FreeSql.Repository/FreeSql.Repository.csproj
+++ b/FreeSql.Repository/FreeSql.Repository.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
YeXiangQin
FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/Access, and read/write separation、and split table.
https://github.com/2881099/FreeSql/wiki/Repository
diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj
index 98df7eab..5aa54a7b 100644
--- a/FreeSql/FreeSql.csproj
+++ b/FreeSql/FreeSql.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access
diff --git a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
index 222eeaf2..98f412f3 100644
--- a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
+++ b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库 Ms Access 实现
diff --git a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
index 79a2a23e..e4cf46b6 100644
--- a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
+++ b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net452;net451;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库实现,基于 MySql 5.6
diff --git a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
index 65d492bd..c66383be 100644
--- a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
+++ b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库实现,基于 MySql 5.6
diff --git a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
index dc0a1669..e459357b 100644
--- a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
+++ b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库 Odbc 实现,基于 {Oracle}、{SQL Server}、{MySQL ODBC 8.0 Unicode Driver}、{PostgreSQL Unicode(x64)}、{DM8 ODBC Driver} 专用访问实现,以及通用 Odbc 访问所有数据库
diff --git a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
index 86906bfc..6b0096a1 100644
--- a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
+++ b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库实现,基于 Oracle 11
diff --git a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
index 787a7ac6..351d72b1 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
+++ b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net461;net452;net451;net45
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库实现,基于 PostgreSQL 9.5
diff --git a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
index 9b41cd59..c7d6e4fc 100644
--- a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
+++ b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net451;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库实现,基于 SqlServer 2005+,并根据版本适配分页方法:row_number 或 offset fetch next
diff --git a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
index 456cba14..31568f3d 100644
--- a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
+++ b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
@@ -2,7 +2,7 @@
netstandard2.0;net45;net40
- 1.0.0
+ 1.0.1
true
YeXiangQin
FreeSql 数据库实现,基于 Sqlite 3.0,支持 .NetCore、.NetFramework、Xamarin
diff --git a/readme.md b/readme.md
index c431f5dd..564b2192 100644
--- a/readme.md
+++ b/readme.md
@@ -40,7 +40,7 @@ FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+
- 要么[FreeSql.Connection.Extensions](https://github.com/2881099/FreeSql.Connection.Extensions),有点像Dapper的使用习惯;
- 要么[FreeSql.BaseEntity](https://github.com/2881099/FreeSql/tree/master/Examples/base_entity),我求简单现在使用的这个;
-> 即将推出 [FluentApi 实体模型与 EfCore 90% 相似的扩展包](https://github.com/2881099/FreeSql/tree/master/Extensions/FreeSql.Extensions.EfCoreFluentApi);
+> [FluentApi 与 EfCore 90% 相似的扩展包](https://github.com/2881099/FreeSql/tree/master/Extensions/FreeSql.Extensions.EfCoreFluentApi);
> 学习项目