クライアントがローカルデータベースに対してクエリ(または「ルール」)を作成し、特定のアクション(メール、テキストメッセージなどの送信)をトリガーできるようにする小さなアプリを提供する必要があります。
彼らは仕事の実際のSQLを述べることができるので、私のデータレイヤーはどのように見えるのだろうかと思います。すべてのデータの相互作用は弱く型付けされるため、エンティティとリポジトリは必要ないようです。
では、データレイヤーは何をすべきでしょうか?接続を開き、入力SQLを受け入れて、プロパティバッグのリストを返しますか?このためのデータレイヤーも必要ですか?
[アップデート]
これは、クライアントがデータベースに対してクエリを記述または構築できるようにするために、自分のアプリに必要なものです。ローカルコンピューターで実行されるため、悪意のある従業員にとってSQLインジェクション攻撃は不要です。
しかし、クエリの作成、検証、サニタイズを視覚的に制御できる場合でも、このレイヤーの最終結果はSQLコードになりますね。テストしたい場合、どうすればそれを抽象化できますか?