Skip to content

oakio/Sqlify.Dapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sqlify.Dapper

Build status Nuget Package

Fluent SQL builder for Dapper library.

How to use:

  1. Install latest nuget packet Sqlify.Dapper from nuget.org:
    Install-Package Sqlify.Dapper
  2. Create per database table:
    public interface IUsersTable : ITable
    {
        Column<int> Id { get; }
        Column<string> Name { get; }
        Column<int> Age { get; }
    }
  3. Write a query!

INSERT query example

public void InsertExample(IDbConnection connection)
{
    var u = Sql.Table<IUsersTable>();

    InsertQuery query = Sql
        .Insert(u)
        .Values(u.Id, 1)
        .Values(u.Name, "Adam")
        .Values(u.Age, 30);

    // INSERT INTO Users (Id, Name, Age) VALUES (@p1, @p2, @p3)    
    var result = connection.Execute(query); // Dapper's Execute method
}

up ↑

UPDATE query example

public void UpdateExample(IDbConnection connection)
{
    var u = Sql.Table<IUsersTable>();

    UpdateQuery query = Sql
        .Update(u)
        .Set(u.Age, u.Age + 1);

    // UPDATE Users SET Age = Users.Age + @p1
    var result = connection.Execute(query); // Dapper's Execute methods
}

up ↑

SELECT query example

public void SelectExample(IDbConnection connection)
{
    var u = Sql.Table<IUsersTable>();

    SelectQuery query = Sql
        .Select()
        .From(u)
        .Where(u.Age > 30);

    // SELECT * FROM Users WHERE Users.Age > @p1
    var result = connection.Query(query); // Dapper's Query method
}

up ↑

DELETE query example

public void DeleteExample(IDbConnection connection)
{
    var u = Sql.Table<IUsersTable>();

    DeleteQuery query = Sql
        .Delete(u)
        .Where(u.Id == 1);

    // DELETE FROM Users WHERE Users.Id = @p1
    var result = connection.Execute(query); // Dapper's Execute method
}

up ↑

How to build

# build
dotnet build ./src

# running tests
dotnet test ./src

# pack
dotnet pack ./src -c=release