Your JSON query can look like this:
https://t.co/dU4g5Ah5oy == "London" && x.Tags.Contains("vip")
OrmLite translates typed C# into native JSON queries for SQLite, PostgreSQL, SQL Server & MySQL.
Explore the examples →
https://t.co/8b2y0igzaZ
Store and query JSON data with typed C# 🧩
📹 New video:
OrmLite maps classes and lists to JSON columns - and lets you query inside them across SQLite, PostgreSQL, SQL Server & MySQL.
No extra tables. No raw SQL.
Explore the OrmLite APIs featured in the video:
📘 Recursive Queries: https://t.co/0rt0n5gxmr
📘 Window Functions: https://t.co/YaK6JQoSEo
📘 System-Versioned Tables: https://t.co/QgghEn89IG
Advanced SQL doesn’t have to mean raw SQL strings 🧵
See how OrmLite brings Recursive CTEs, Window Functions, Top N Per Group & Temporal Tables to typed C#
Your query is fast. What about everything around it?
New #OrmLite video:
• Batch 1,000 inserts up to 8.5× faster—same code
• Compile queries: generate SQL once
• SeekAfter: page 1,000 in 0.23 ms vs 33.95 ms
Benchmarks, SQL, and trade-offs 👇
ServiceStack v10.4.2 fixes a path traversal vulnerability in FilesUploadFeature and FileSystemVirtualFiles. If your app uses them, please upgrade.
Our automated security scans also identified vulnerable transitive deps - see release notes for mitigation:
https://t.co/t6jV2TxpXR
📚 Ready to try it? The docs cover the APIs, C# examples and database support:
🔒 Row locking & SKIP LOCKED
https://t.co/159lhJfNOr
↩️ Returning updated & deleted rows
https://t.co/twqazLmn3N
💸 Two requests deposit $10. Both succeed. One deposit disappears.
Your C# code looks correct. Your database balance isn’t. 😬
🎬 New OrmLite video: prevent lost updates with row locks, plus SKIP LOCKED queues, RETURNING & UPSERTS.
Try it in your own .NET App 👇
The OrmLite Schema Diff docs cover comparing models with tables, generating migrations for review, and logging schema differences at startup.
https://t.co/oLgIr1LeLt
Your C# model changed. Your database table didn’t.
▶️ Our latest OrmLite video covers schema diffs, auto generated migrations, likely rename detection, and startup warnings when models and tables drift apart - with a new browser UI and CLI workflow.
#dotnet#csharp
Sql.Fmt also sends enums, numbers and dates as typed params, expands lists into IN lists, and works with every raw SQL API, sync or async.
📘 Sql.Fmt: https://t.co/eEQlW28HiG
📘 OrderBySafe: https://t.co/SlqmyrrE6w
📘 SQL injection: https://t.co/g42upLRICQ
OrmLite gives you a huge surface of typed APIs with LINQ expressions. But when you need custom SQL, you don't have to give up safety.
Sql.Fmt lets you write C# interpolated strings, and every {value} is sent as a db param:
Sql.Fmt($"Author = {author}") → WHERE Author = @p0
You don’t need a new backend to start adding AI to your .NET App.
Opt in an existing read-only API. Keep your existing permissions and validation.
Let your team explore what they can build ✨
Code and walkthrough 👇
https://t.co/EDXUZHeg4c
One prompt → an interactive 3D Customer Galaxy 🌌
Another → a 10-slide Monthly Business Review 📊
See how ServiceStack AI Chat turns your .NET APIs into dashboards and reports, right inside your app. ⚡
#dotnet#AI
Follow-up docs for the video 👇
📖 Multitenancy: How to confine a connection to a tenant https://t.co/ImkROOhTrP
🏗️ Guide: How the Next SaaS template applies it, with the code and tests for each rule https://t.co/6fuvx8qXCb
🎥 New Multitenancy video
In a multi-tenant app, one query that forgets `WHERE TenantId` returns all customer's data, without error.
OrmLite's connection filters let you declare the tenant rule once, on the connection, and every typed query, update, delete and join follows it
That was the overview. Now see everything new in OrmLite’s biggest release 👇
Async streaming, keyset pagination, read replicas, automatic retries, query plans, slow query profiling… the list keeps going.
Explore ServiceStack v10.4:
https://t.co/22uOjoAxGx