Info
Version: | 1.1.1 |
Author(s): | Dmitry Tikhonov |
Last Update: | Monday, September 16, 2024 |
.NET Fiddle: | Online Example |
Project Url: | https://github.com/0x1000000/SqExpress |
NuGet Url: | https://www.nuget.org/packages/SqExpress |
Install
Install-Package SqExpress
dotnet add package SqExpress
paket add SqExpress
SqExpress Download (Unzip the "nupkg" after downloading)
Dependencies
Tags
The library provides a generic SQL syntax tree with export to MS T-SQL, PostgreSQL, and MySQL text. It includes polyfills to compensate for features lacking in certain databases, such as the "MERGE" command. It also provides a set of builders and operators that will help you build complex SQL expressions.
It does not use LINQ, and your C# code will be as close to real SQL as possible. This makes it ideal when you need full SQL flexibility to create efficient DB requests.
SqExpress comes with a simple but efficient data access mechanism that wraps ADO.Net DbConnection and can be used with MS SQL Client, Npgsql, or MySQL Connector.
You can use SqExpress together with the “Code First” concept when you declare SQL tables as C# classes with the possibility to generate recreation scripts for a target platform (MS SQL or PostgreSQL or MySQL).
You can also use it in conjunction with the “Database First” concept using an included code modification utility.
The utility can also be used to generate flexible DTO classes with all required database mappings.
Here’s an article that explains the library principles: [“Syntax Tree and Alternative to LINQ in Interaction with SQL Databases”](https://itnext.io/syntax-tree-and-alternative-to-linq-in-interaction-with-sql-databases-656b78fe00dc?source=friends_link&sk=f5f0587c08166d8824b96b48fe2cf33c).