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