ActiveRecord/NHibernateからDapperに切り替えました。以前は、すべてのクエリをコントローラーに入れていました。ただし、モデルに実装するのに便利ないくつかのプロパティ(summary / sums / totals / averagesなど)は、モデル内のインスタンス変数(コレクション)を反復処理することで計算できました。
具体的には、myProject
にはの概念がありAppSessions
、を繰り返すことで、セッションの総数と平均セッション長を計算できますsomeProject.AppSessions
。
私がDapperにいるので、これは混乱しているようです。コントローラーメソッドはDapperを介してデータベースにクエリを実行しますが(これは問題ないようです)、モデルクラスもDapperを介してデータベースにクエリを実行します(奇妙に思えます)。
TLDR:DBアクセスは、私のモデル、コントローラー、またはその両方で行う必要がありますか?どちらも正しくないようです。後でDBアクセススタイルを変更してもあまり影響がないように、1つの「レイヤー」に制限したいと思います。