All Projects → berkeleybross → PeregrineDb

berkeleybross / PeregrineDb

Licence: MIT license
CRUD Extensions for Dapper.Net

Programming Languages

C#
18002 projects
powershell
5483 projects

Labels

Projects that are alternatives of or similar to PeregrineDb

Surgingdemo
surging 使用入门示例。完成一个基本业务的增删改查示例,并运用Surging强大的分布式缓存功能
Stars: ✭ 165 (+587.5%)
Mutual labels:  dapper
Dapper.graphql
A .NET Core library designed to integrate the Dapper and graphql-dotnet projects with ease-of-use in mind and performance as the primary concern.
Stars: ✭ 244 (+916.67%)
Mutual labels:  dapper
Dapper.AmbientContext
Ambient context implementation for Dapper.NET
Stars: ✭ 31 (+29.17%)
Mutual labels:  dapper
Dapper
Dapper - a simple object mapper for .Net
Stars: ✭ 14,330 (+59608.33%)
Mutual labels:  dapper
Dapper.lnskydb
基于Dapper的LINQ扩展,支持Lambda表达式,支持按时间分库分表,也可以自定义分库分表方法,且实体类有T4模版自动生成.省去手写实体类的麻烦。已在实际项目使用
Stars: ✭ 228 (+850%)
Mutual labels:  dapper
DataAbstractions.Dapper
A light abstraction around Dapper and Dapper.Contrib that also maintains the behavior IDbConnection.
Stars: ✭ 37 (+54.17%)
Mutual labels:  dapper
Aiozipkin
Distributed tracing instrumentation for asyncio with zipkin
Stars: ✭ 161 (+570.83%)
Mutual labels:  dapper
Dragon
基于 .Net Core 的后端基础框架
Stars: ✭ 17 (-29.17%)
Mutual labels:  dapper
Identity.dapper
Identity package that uses Dapper instead EntityFramework for use with .NET Core
Stars: ✭ 234 (+875%)
Mutual labels:  dapper
APICorePayLots
Web API designed in Asp.NET Core 3.1, using Dapper and Entity Framework Core, Repository Pattern, Identity
Stars: ✭ 13 (-45.83%)
Mutual labels:  dapper
Skywalking Docker
SkyWalking Docker file archive for all official releases
Stars: ✭ 206 (+758.33%)
Mutual labels:  dapper
Asky
Asky开源架构:极简、轻量、极致性能《Asky零基础1小时学编程 dnc+vue+tidb+redis+rabbitMQ+ES》QQ群 779699538
Stars: ✭ 213 (+787.5%)
Mutual labels:  dapper
Banana
🍌 The collection of CRUD helpers for Dapper.
Stars: ✭ 61 (+154.17%)
Mutual labels:  dapper
Goldeneye
The CQRS flavoured framework that will speed up your WebAPI and Microservices development
Stars: ✭ 171 (+612.5%)
Mutual labels:  dapper
dapper-tutorial-cn
Dapper 教程中文翻译版
Stars: ✭ 25 (+4.17%)
Mutual labels:  dapper
Nbcz admin
asp.net MVC5 + Dapper + layUI/easyUI 通用权限管理系统、后台框架、信息管理系统基础框架
Stars: ✭ 163 (+579.17%)
Mutual labels:  dapper
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (+937.5%)
Mutual labels:  dapper
LearnDapp
🥛分享区块链应用开发实践代码,最新更新在微信公众号「区块链瓦工」
Stars: ✭ 34 (+41.67%)
Mutual labels:  dapper
skywalking-python
The Python agent for Apache SkyWalking
Stars: ✭ 152 (+533.33%)
Mutual labels:  dapper
flepper
Flepper is a library to aid in database interaction. 🐸
Stars: ✭ 60 (+150%)
Mutual labels:  dapper

PeregrineDb - Lightweight CRUD Extensions for Dapper.Net

Image of a Peregrine, from the RSPB

PeregrineDb is a small and fast Dapper.Net extension library to perform CRUD statement with POCO models.

Build status

Project aims

  1. Provide fast and lightweight CRUD extensions for Dapper
  2. Should be able to run against multiple different databases in the same project
  3. Thread safety should be guarenteed

I was using the fantastic Dapper.SimpleCRUD library and found it incredibly easy to use. However, two things drove me to write this library - I have a project which uses SqlServer and Postgres databases side-by-side, and unfortunately Dapper.SimpleCRUD does not support this. Second, I found it was missing a few crucial optimizations which was doubling the time taken to easily insert many rows.

DBMS Support

Currently, the following DBMS are supported. More will be added (e.g. SQLite) when there is demand for them:

  • Microsoft SqlServer 2012 and above
  • PostgreSQL

Features

Don't forget, for practical examples of usage, you can also browse our extensive unit tests suite.

Comparison

NB: These may not be correct nor up-to-date. I made this comparison very quickly

Library Operations Composite Keys Async .Net Core Notes
PeregrineDb Count
Find/Get
Get(Range/All)
GetPage
Insert(Range)
Update(Range)
Delete(Range/All)
✔️ ✔️ ✔️
  • Can work across multiple DBMS in same project
  • Throws exceptions for inconsistencies (E.g. Update not affected anything)
Dapper.Contrib Get
GetAll
Insert
Update
Delete(All)
✔️ ✔️
  • Can use interfaces to track changes
Dapper.Extensions Get
Insert
Update
Delete
GetList
GetPage/GetSet
Count
✔️
  • Can use simple lambdas and predicates
  • Generates GUID keys
  • Can be configured without attributes
Dapper.FastCRUD Insert
Get
Find(Equivalent to GetRange)
(Bulk)Update
(Bulk)Delete
Count
✔️ ✔️ ✔️
  • Has a nice fluent syntax for complex WHERE operations
  • Can be configured without attributes
Dapper.SimpleCRUD Get
GetList
GetListPaged
Insert
Update
Delete(List)
RecordCount
✔️
  • Can create WHERE clauses from objects
  • Generates GUID keys

Installation

Simply add the nuget package PeregrineDb to your project.

Licensing and Attribution

This project can be used and distributed under the MIT License.

Please read Notice for licenses of other projects used by or inspirations of this projects.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].