sql >> データベース >  >> RDS >> Sqlserver

.NET 3.5 におけるデータ アクセス層の定義

    そのコードは悪い . SQL インジェクション;理由もなくDataTable。理由もなく StringBuilder 。ここでは、"dapper" (NuGet で無料で入手可能) を使用して簡単に実行します:

    using(var conn = GetSomeConnection()) { // <== todo
        return conn.Query<string>(
            "select title from MyTable where [email protected] and [email protected]",
            new { id = myId, var = myVar }).FirstOrDefault() ?? "";
    }
    

    これは:

    • インジェクションセーフ (完全にパラメータ化)
    • 直接 (DataTable のような不要なレイヤーはありません)
    • 最適化



    1. JUnitテストケース用にMySQLをメモリ内で実行する方法はありますか?

    2. Pythonを使用したPostgreSQLデータベースでのINSERTの使用

    3. 列名を取得するためのMySQLクエリ?

    4. PostgresqlがJPAでoneToMany関係を使用している場合、列にnull値をスローするとnull以外の制約に違反します