Les collections NCC se compose d'un ensemble d'extensions et d'outils basés sur la collection, tels que les extensions de pagination.
| Nom de package | Version | Téléchargements |
|---|---|---|
| DotNetcore.collections.paginable | ||
| Dotnetcore.collections.paginable.chloe | ||
| DotNetcore.collections.paginable.dosorm | ||
| Dotnetcore.collections.paginable.entityframeworkcore | ||
| Dotnetcore.collections.paginable.freesql | ||
| DotNetcore.collections.paginable.nhibernate | ||
| Dotnetcore.collections.paginable.sqlkata | ||
| Dotnetcore.collections.paginable.sqlsugar |
Install-Package DotNetCore.Collections.Paginable
IEnumerable < ExampleModel > list = GetList ( ) ; //...
//Get a collection of Page, each page has 50 PageMembers
var paginableList = list . ToPaginable ( 50 ) ;
//Get page 15th
var page = paginableList . GetPage ( 15 ) ;
for ( var i = 0 ; i < page . CurrentPageSize ; i ++ )
{
var itemNumber = page [ i ] . ItemNumber ;
var itemValue = page [ i ] . Value ;
}Ou utilisez un code plus rationalisé:
IEnumerable < ExampleModel > list = GetList ( ) ; //...
//Get page 15th, each page has 50 items.
ar page = list . GetPage ( 15 , 50 ) ;
for ( var i = 0 ; i < page . CurrentPageSize ; i ++ )
{
var itemNumber = page [ i ] . ItemNumber ;
var itemValue = page [ i ] . Value ;
} Vous pouvez obtenir IQueryable<T> d' Where dans efcore ou Query<T> dans nhibernate, puis:
IQueryable < ExampleModel > queryable = GetQueryable ( ) ; //...
var page = queryable . GetPage ( 15 , 50 ) ;
var totalMemberCount = page . TotalMemberCount ;
for ( var i = 0 ; i < page . CurrentPageSize ; i ++ )
{
var itemNumber = page [ i ] . ItemNumber ;
var itemValue = page [ i ] . Value ;
}Fais-le c'est tout.
Installer DotNetCore.Collections.Paginable.Chloe package:
Install-Package DotNetCore.Collections.Paginable.Chloe
alors:
//... do some config for Chloe by EntityTypeBuilder<ExampleModel>
using ( var db = new MsSqlContext ( connectionString ) )
{
var page = db . Query < ExampleModel > ( ) . GetPage ( 15 , 50 ) ;
var totalPageCount = page . TotalPageCount ;
var totalMemberCount = page . TotalMemberCount ;
var pageSize = page . PageSize ;
var currentPageNumber = page . CurrentPageNumber ;
var currentPageSize = page . CurrentPageSize ;
var hasNext = page . HasNext ;
var HasPrevious = page . HasPrevious ;
for ( var i = 0 ; i < currentPageSize ; i ++ )
{
var id = page [ i ] . Value . Id ;
}
} Installer DotNetCore.Collections.Paginable.DosOrm package:
Install-Package DotNetCore.Collections.Paginable.DosOrm
alors:
var _session = new DbSession ( DatabaseType . SqlServer , connectionString ) ;
var page = _dosOrmSession . From < ExampleModel > ( ) . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...
.
.
.
class ExampleModel : Entity
{
public ExampleModel ( ) : base ( " ExampleModels " ) { }
public virtual int Id { get ; set ; }
public override Field [ ] GetPrimaryKeyFields ( ) => new Field [ ] { new Field ( " Id " ) , } ;
} Installer DotNetCore.Collections.Paginable.FreeSql package:
Install-Package DotNetCore.Collections.Paginable.FreeSql
alors:
var _freeSql = new FreeSql . FreeSqlBuilder ( )
. UseConnectionString ( DataType . SqlServer , connectionString )
. UseAutoSyncStructure ( false )
. Build ( ) ;
//... do some config for FreeSql
var page = _freeSql . Select < ExampleModel > ( ) . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...ou appelez directement la méthode d'extension de DBSet:
var ctx = _freeSql . CreateDbContext ( ) ;
var source = ctx . Set < ExampleModel > ( ) ;
var page = source . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...ou
using ( var ctx = new ExampleDbContext ( ) )
{
var page = ctx . ExampleModels . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...
}
.
.
.
class ExampleDbContext : DbContext
{
public DbSet < ExampleModel > ExampleModel { get ; set ; }
protected override void OnConfiguring ( DbContextOptionsBuilder builder )
{
builder . UseFreeSql ( _freeSqlInstance ) ;
}
} Installer DotNetCore.Collections.Paginable.SqlSugar package:
Install-Package DotNetCore.Collections.Paginable.SqlSugar
alors:
var sqlSugar = new SqlSugatClient ( new ConnectionConfig {
ConnectionString = connectionString ,
DbType = DbTypee . SqlServer ,
IsAutoCloseConnection = true
} ) ;
//... do some config for sqlSugar
var page = _sqlSugar . Query < ExampleModel > ( ) . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//... Installer DotNetCore.Collections.Paginable.NHibernate package:
Install-Package DotNetCore.Collections.Paginable.NHibernate
alors:
//... do some config for NHibernate by FluentNHibernate.ClassMap<ExampleModel>
using ( var session = GetAndOpenSession ( ) )
{
var page = session . QueryOver < ExampleModel > ( ) . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...
} //... do come config for EFCore
using ( var context = new ExampleDbContext ( ) )
{
var page = context . ExampleModels . Where ( x => x . Id > 100 ) . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...
}ou appelez directement la méthode d'extension de DBSet:
Installer DotNetCore.Collections.Paginable.EntityFrameworkCore Package d'abord:
Install-Package DotNetCore.Collections.Paginable.EntityFrameworkCore
alors:
using ( var context = new ExampleDbContext ( ) )
{
var pagee = context . ExampleModels . GetPage ( 1 , 9 ) ;
var totalPageCount = page . TotalPageCount ;
//...
}
//... Installer DotNetCore.Collections.Paginable.SqlKata package:
Install-Package DotNetCore.Collections.Paginable.SqlKata
alors:
using ( var connection = new SqlConnection ( connectionString ) )
{
connection . Open ( ) ;
var compiler = new SqlServerCompiler ( ) ;
var db = new QueryFactory ( connection , compiler ) ;
var page = db . Query ( " ExampleModels " ) . GetPage < ExampleModel > ( 1 , 9 ) ;
var totalPageCount = page . TotalCount ;
//...
}Projet membre de la CCN, MIT