编写readme

This commit is contained in:
xuejmnet 2021-01-26 10:49:53 +08:00
parent a7e9cc37f1
commit b8e97a1cd3
2 changed files with 19 additions and 7 deletions

View File

@ -1,2 +1,17 @@
# sharding-core <h1 align="center"> ShardingCore </h1>
efcore sharding lib ShardingCore 是一个支持efcore 2.x 3.x 5.x的一个对于数据库分表的一个简易扩展,
目前该库暂未支持分库(未来会支持),仅支持分表,该项目的理念是让你可以已最少的代码量来实现自动分表的实现,经过多个开源项目的摸索参考目前正式开源本项目
- [特性](#特性)
- [开始](#开始)
- [准备](#准备)
- [配置](#配置)
- [使用](#使用)
- [按时间自动分表](#按时间自动分表)
- [性能测试](#性能测试)
- [其它简单操作(非Sharing)](#其它简单操作非sharing)
- [高级配置](#高级配置)
- [多主键等配置](#多主键等配置)
- [读写分离](#读写分离)
- [注意事项](#注意事项)
- [总结](#总结)

View File

@ -358,12 +358,9 @@ namespace ShardingCore.Core
{ {
var extraEntry = _source.GetExtraEntry(); var extraEntry = _source.GetExtraEntry();
//去除分页,获取前Take+Skip数量 //去除分页,获取前Take+Skip数量
int? take = extraEntry.Take;
int skip = extraEntry.Skip.GetValueOrDefault();
var noPageSource = _source.RemoveTake().RemoveSkip(); var noPageSource = _source.RemoveTake().RemoveSkip();
if (take.HasValue) if (extraEntry.Take.HasValue)
noPageSource = noPageSource.Take(take.Value + skip); noPageSource = noPageSource.Take(extraEntry.Take.Value + extraEntry.Skip.GetValueOrDefault());
//从各个分表获取数据 //从各个分表获取数据
var multiRouteEntry = _endRoutes.FirstOrDefault(o => o.Value.Count() > 1); var multiRouteEntry = _endRoutes.FirstOrDefault(o => o.Value.Count() > 1);
List<DbContext> parallelDbContexts = new List<DbContext>(multiRouteEntry.Value.Count); List<DbContext> parallelDbContexts = new List<DbContext>(multiRouteEntry.Value.Count);