-
Notifications
You must be signed in to change notification settings - Fork 18
Home
sdrapkin edited this page Jan 4, 2017
·
23 revisions

TinyORM by Stan Drapkin
- Focused on SQL Server (any
SqlClient-based db engine). - Intuitive, tiny, simple API. This is the hardest part of any library to get right.
-
Does not obscure or reinvent
T-SQL. If you prefer APIs that hideT-SQLincompetence, gtfo. -
Very fast. As fast as competition (
Dapper,OrmLite,PetaPoco,Linq2Sql, etc. benchmarks). -
Seamlessly transactional and safe. Transactions are not merely supported - they are the default. Custom transaction scopes are declared via standard
TransactionScopeinstance (created viaTinyORM.DbContext.CreateTransactionScope()factory). - Transparent connection management. One less thing to worry about and screw up. Never think about connections again.
-
Task-basedasyncAPI (ie. the API). All calls are buffered (focus on safety and fast connection release). -
POCOs or
anonymousobjects are fine. No inheritance, interface, or attribute requirements. - Returns
dynamicentities which can also be consumed directly, or projected to statically-typed objects (fast!). * Either strict (perfect-match) or relaxed (best-effort) projection ofdynamicto statically-typed objects. - Full parameterization, with parameter list expansion (ex.
WHERE Id IN (@IdList)). This also helps prevent SQL injection. *CHAR,VARCHAR,NCHAR,NVARCHARsupport forstringparameters. - Single or multiple Result Sets.
-
Snapshots provide change-tracking, with
UPDATET-SQLgeneration for partial updates. - Intelligent batched *bulk* command sequences via
QueryBatch(not just forINSERT- for allCREATE/UPDATE/DELETE/MERGEcommands). -
Streaming data-out support (ex. streaming out
BLOBs/files). - Auditing * Caller identity tracking (which user made the call?). * Callsite tracking (which source code filename, method, and line# made the call?).
- Helpers for
CREATE,UPDATE,DELETE, andMERGET-SQLgeneration. -
SequentialGuidgenerator for fragmentation-free, unique, unguessable, code-generated clustereduniqueidentifierindexes. - c# 6.0 in
safemode. Compiledany cpufor .NET 4.5.2+. - Tiny codebase. Tiny ~45k
.dll. No dependencies. -
TinyORMon NuGet (Install-Package TinyORM). - MS-PL (Microsoft Public) license. If MS-PL does not suit you, contact me.
If you are serious about SQL Server, give TinyORM a try (even if you're a Dapper fan).
[all features will soon be linked to proper documentation..]
Copyright (c) 2016-2022 Stan Drapkin