Skip to content
プロジェクト

sdrapkin/SecurityDriven.TinyORM

GitHubで見る

sdrapkin/SecurityDriven.TinyORM has 308 GitHub stars and 17 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-11 00:23 UTC. Last push 2025-02-12.

この数値の測り方

.NET micro ORM done right.

できること

  • Focused on SQL Server (any SqlClient-based db engine). Azure SQL is supported as well.
  • Intuitive, tiny, simple API. This is usually the hardest part for libraries to get right.
  • Does not obscure or reinvent T-SQL. If you prefer APIs that hide T-SQL incompetence, look elsewhere.
  • Very fast. As fast as competition (Dapper, OrmLite, LLBLGen, EF Core, etc. benchmarks).

計測したスター増加

24時間
0
7日間
更新が遅れています
15日間
更新が遅れています
1か月
更新が遅れています

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

TinyORM

Simple, fast, and secure micro ORM for .NET NuGet

TinyORM by Stan Drapkin [sdrapkin at sdprime dot com]

Documentation: wiki

Features:

  1. Focused on SQL Server (any SqlClient-based db engine). Azure SQL is supported as well.
  2. Intuitive, tiny, simple API. This is usually the hardest part for libraries to get right.
  3. Does not obscure or reinvent T-SQL. If you prefer APIs that hide T-SQL incompetence, look elsewhere.
  4. Very fast. As fast as competition (Dapper, OrmLite, LLBLGen, EF Core, etc. benchmarks).
  5. Seamlessly transactional and safe. Transactions are not merely supported - they are the default.
    • XACT_ABORT=ON (automatic transaction rollback on runtime T-SQL errors).
    • Custom transaction scopes are declared via standard TransactionScope instance (created via TinyORM.DbContext.CreateTransactionScope() factory).
  6. Transparent connection management. One less thing to worry about and screw up. Never think about connections again.
  7. Task-based async API (ie. the API). All calls are buffered (focus on safety and fast connection release).
  8. POCOs or anonymous objects are fine. No inheritance, interface, or attribute requirements.
  9. Returns dynamic entities which can be consumed directly, or projected to statically-typed objects (fast!).
    • Either strict (perfect-match) or relaxed (best-effort) projection of dynamic to statically-typed objects.
  10. Full parameterization, with parameter list expansion (ex. WHERE Id IN (@IdList)). This also helps prevent SQL injection.
    • CHAR, VARCHAR, NCHAR, NVARCHAR support for string parameters.
  11. Single or multiple Result Sets.
  12. Snapshots provide change-tracking, with UPDATE T-SQL generation for partial updates.
  13. Intelligent batched *bulk* command sequences via QueryBatch (not just for INSERT - for all CREATE/UPDATE/DELETE/MERGE commands).
  14. Streaming data-out support (ex. streaming out BLOBs/files).
  15. Auditing
    • Caller identity tracking (which user made the call?).
    • Callsite tracking (which source code filename, method, and line# made the call?).
  16. Helpers for CREATE, UPDATE, DELETE, and UPSERT T-SQL generation.
  17. SequentialGuid generator for fragmentation-free, unique, unguessable, code-generated clustered uniqueidentifier indexes.
  18. c# 10.0 in safe mode. Compiled any cpu for .NET 4.5.2+ and NetStandard 2.0/.NET Core 2.0+.
  19. Tiny codebase. Tiny ~45k .dll.
  20. TinyORM on NuGet (Install-Package TinyORM).
  21. 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).

Simple TinyORM query

var db = DbContext.Create(connString);
var query = await db.QueryAsync("select [Answer] = @a + @b", new { @a = 123, @b = 2 });

Console.WriteLine(query.First().Answer); // prints "125"

static string connString = "Data Source=.\\SQL2012; Initial Catalog=tempdb; Integrated Security=True;";

Nature graphic by Freepik is licensed under CC BY 3.0.

関連プロジェクトを探す