SqlEasyWork 4.0.0
dotnet add package SqlEasyWork --version 4.0.0
NuGet\Install-Package SqlEasyWork -Version 4.0.0
<PackageReference Include="SqlEasyWork" Version="4.0.0" />
paket add SqlEasyWork --version 4.0.0
#r "nuget: SqlEasyWork, 4.0.0"
// Install SqlEasyWork as a Cake Addin #addin nuget:?package=SqlEasyWork&version=4.0.0 // Install SqlEasyWork as a Cake Tool #tool nuget:?package=SqlEasyWork&version=4.0.0
SqlEasyWork
Библиотека для простого использования базы данных.
Для начала использования необходимо подключить библиотеку и указать строку подключения:
using SqlEasyWork;
Connection.String = "строка подключения";
Готово!! Теперь можно работать с базой данных. Для этого в статичном классе SQL
есть следующие методы:
public static class SQL
{
List<T> Query<T>(string Query, IEnumerable<QueryParameter> Parameters) // Запрос с выводом и параметрами
List<T> Query<T>(string Query); // Запрос с выводом
void Query(string Query, IEnumerable<QueryParameter> Parameters); // Запрос с параметрами
void Query(string Query); // Запрос
T? Select<T>(int Id, string TableName); // Выбрать запись из таблицы с указаным индентификатором
T? SelectFirst<T>(string TableName); // Выбрать первую запись из таблицы
T? SelectLast<T>(string TableName); // Выбрать последнюю запись из таблицы
int CountRows(string TableName); // Получить количество записей в таблице
int CountRows(string TableName, string Condition); // Получить количество записей в таблице с условием
}
И методы расширения:
T Insert<T>(this T Obj, string TableName) // Вставить объект в таблицу
T Update<T>(this T Obj, string TableName) // Обновить объект в таблице
void Delete<T>(this T Obj, string TableName) // Удалить объект из таблицы
T? Select<T>(this T Obj, string TableName) // Выбрать объект из таблицы
Можно делать запросы не создавая вручную классы для таблиц!
Такие запросы будут создавать классы, повторяющие таблицу в бд и наследующие интерфейс ITableObject
.
List<dynamic> Q(string Query, params QueryParameter[] Parameters)
List<dynamic> Q(string Query)
dynamic? Select(int Id, string TableName);
dynamic? SelectFirst(string TableName)
dynamic? SelectLast(string TableName)
Методы расширения работают только на объектах, наследующие интерфейс ITableObject
.
Также для настройки работы методов расширения есть атрибуты для полей. Вот небольшой пример класса с ними:
public class User : ITableObject
{
[SqlPropertyIgnore]
public int Id { get; set; } // Не учитывать при вставке и обновлении записи в таблице (для правильной работы AUTO INCREMENT)
public string Name { get; set; }
[SqlPropertyName("photo")]
public byte[] Avatar { get; set; } // Переименовать в photo во время генерации запросов
}
Атрибут | Функционал |
---|---|
SqlPropertyIgnore | Исключает поле из запроса |
SqlPropertyName | Переименовать поле в указанное имя. Если атрибут не указан, то в запросе будет указано название поля в стиле lowerCamelCase. Например, если поле называется FirstName , то в запросе будет firstName |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.CSharp (>= 4.7.0)
- System.Data.SqlClient (>= 4.8.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.