Jak korzystać z SqlBuilder
To pytanie pojawia się na stronie samouczka wytwornego, więc aktualizuję odpowiedź.
W wersji 1.6, SqlBuilder
znajduje się w przestrzeni nazw Dapper
. I jest zawarty w pakiecie nuget Dapper.SqlBuilder.
Oto przykład tego, jak to działa:
var builder = new SqlBuilder();
builder.Select("id_something");
builder.Select("MyCol");
builder.Select("OtherCol");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@MyParam", 3, DbType.Int32, ParameterDirection.Input);
builder.Where("id_something < @MyParam", parameters);
// builder.Where("id_something < @MyParam", new { MyParam =3}); //this is other option for params.
builder.InnerJoin("OtherTable on OtherTable.id=MyTable.id");
//The /**something**/ are placeholders,
var builderTemplate = builder.AddTemplate("Select /**select**/ from MyTable /**innerjoin**/ /**where**/ ");
var result = connection.Query<MyClass>(builderTemplate.RawSql, builderTemplate.Parameters);
To jest wygenerowany SQL:
Select id_something , MyCol , OtherCol
from MyTable
INNER JOIN OtherTable on OtherTable.id=MyTable.id
WHERE id_something < @MyParam