2017-03-01 1 views
1

Ich habe diesen Code in petapocoWas ist die Verwendung von SQL Builder in PetaPoco?

public List<T> Fetch<T>(Sql sql) 
{ 
      return Fetch<T>(sql.SQL, sql.Arguments); 
} 

die von Natur Methode aufrufen holen, die einen String als Parameter annimmt. Warum brauchen wir dann sql Builder in Petapoco?

Antwort

1

Sql.Builder ist ein fluent API und gibt die Möglichkeit bedingt SQL zu erstellen. Dies vereinfacht das Formatieren von SQL-Strings und bietet einen Mechanismus zum Verwenden korrekter Parameterersetzungen zum Schutz vor SQL injection.

Beispiel nicht getestet

var sql = PetaPoco.Sql.Builder() 
    .Select("*") 
    .From("Orders.Product") 
    .Where("OrderID = @0", id); 

From PetaPoco documentation:

eine Liste Fetch kehrt <> von

+0

der POCO Vielen Dank für Ihre Antwort @william. Wir können auch die SQL-Injektion verhindern, indem wir Parameter in der String-Überladung der Fetch-Methode verwenden. Also ist es nur zum Formatieren von SQL-Strings? – Jay

+0

Es ermöglicht Ihnen, SQL bedingt zu erstellen. Also ja, basierend auf dem, was Sie an den Builder übergeben, wird es die SQL richtig formatieren, so dass Sie sich nicht darum kümmern müssen. Das ist die Grundvoraussetzung. –

Verwandte Themen