PetaPoco 中 sql builder 有什么用?

What is the use of sql builder in PetaPoco?

我在 petapoco 中有这段代码

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

它固有地调用以字符串作为参数的 Fetch 方法。 那为什么我们在 petapoco 中需要 sql 构建器?

Sql.Builder 是一个 fluent API and gives the ability to conditionally build SQL. Which makes formatting SQL strings easy and provides a mechanism to use proper parameter replacements to protect from SQL injection.

示例未测试

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

From PetaPoco documentation:

Fetch returns a List<> of POCO's