GitHub - Codeer-Software/LambdicSql
前回のTODOのうちのプリペアドに対応しました。
変数や直値で渡した値は自動でプリペアドに変換されます。
Where句だけでなく他の句でも同様に置き換え処理が実施されます。
ふう、一安心。
今までブログで書いたサンプルのSQLも更新しました。
public void StandardNoramlType() { var max = 4000; var query = Sql<DB>.Create(db => Select(new SelectedData() { Name = db.tbl_staff.name, PaymentDate = db.tbl_remuneration.payment_date, Money = db.tbl_remuneration.money, }). From(db.tbl_remuneration). Join(db.tbl_staff, db.tbl_remuneration.staff_id == db.tbl_staff.id). //直値や変数でパラメータを渡す。 Where(3000 < db.tbl_remuneration.money && db.tbl_remuneration.money < max). OrderBy(new Asc(db.tbl_staff.name))); //文字列化 Debug.Print(query.ToSqlInfo(typeof(SqlConnection)).SqlText); //Dapperを使っているなら、以下のように実行できます var datas = _connection.Query(query).ToList(); }
SELECT tbl_staff.name AS Name, tbl_remuneration.payment_date AS PaymentDate, tbl_remuneration.money AS Money FROM tbl_remuneration JOIN tbl_staff ON (tbl_remuneration.staff_id) = (tbl_staff.id) WHERE ((@p_0) < (tbl_remuneration.money)) AND ((tbl_remuneration.money) < (@max)) ORDER BY tbl_staff.name ASC
履歴
2016/09/02 β版対応