sqlize 0.1.0
See the version list below for details.
dotnet add package sqlize --version 0.1.0
NuGet\Install-Package sqlize -Version 0.1.0
<PackageReference Include="sqlize" Version="0.1.0" />
<PackageVersion Include="sqlize" Version="0.1.0" />
<PackageReference Include="sqlize" />
paket add sqlize --version 0.1.0
#r "nuget: sqlize, 0.1.0"
#:package sqlize@0.1.0
#addin nuget:?package=sqlize&version=0.1.0
#tool nuget:?package=sqlize&version=0.1.0
sqlize
An easy-to-use .NET 6+ library for generating formatted SQL code from an interpolated string.
Usage
class Blog
{
public int Id { get; set; }
public string Name { get; set; }
}
var id = 123;
var sqlize = new Sqlize();
// Declare entities for use
sqlize.Declare<Blog>(out var b);
// Generate formated SQL
var query = sqlize.ToFormattedSql($@"
SELECT {b.Name}
FROM {b}
WHERE {b.Id} = {id};
");
Console.WriteLine(query);
// SELECT b.Name
// FROM Blog AS b
// WHERE b.Id = 123;
SQL Injection
You can use the ToFormattableString function instead of ToFormattedSql to obtain a FormattableString and thus use the SQL injection-proof methods of your favorite ORMs.
FormattableString query = sqlize.ToFormattableString($@"SELECT {b.Name} FROM {b} WHERE {b.Id} = {id};");
Options
This first version offers few options for managing the specific features of dbms and users.
<table> <tr> <td>Option</td> <td>Description</td> <td>Example</td> </tr> <tr> <td><pre lang="C#">SqlizeFlags.DoubleQuotedName<pre></td> <td>Encloses column and table names in double quotes</td> <td> <pre lang="c#"> sqlize.ToFormattedSql($"SELECT {b.Name}", SqlizeFlags.DoubleQuotedName); // SELECT b."Name" </pre> </td> </tr> </table>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.