Dieser SqlBuilder:
var builder = new SqlBuilder();
var sql = builder.AddTemplate( /*...
Intensiv dumme Frage aber, wie benutze ich das? Ich weiß, dass es in Dapper.Contrib
, aber das using
Anweisung ist nicht genug. Welche Verweise oder andere using
muss ich hinzufügen?
Ich weiß nicht, ob niemand wusste oder ob es einfach zu albern war, um zu antworten, aber das ist die richtige Aussage:
using StackExchange.Profiling.Helpers.Dapper;
Diese Frage wird auf der Dapper-Tutorial-Seite angezeigt, daher aktualisiere ich die Antwort.
In Version 1.6 befindet sich SqlBuilder
im Namespace Dapper
. Und es ist im Nuget-Paket Dapper.SqlBuilder enthalten.
Dies ist ein Beispiel dafür, wie es funktioniert:
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);
Dies ist die SQL generiert:
Select id_something , MyCol , OtherCol
from MyTable
INNER JOIN OtherTable on OtherTable.id=MyTable.id
WHERE id_something < @MyParam