開発生産性かな。
テーブル構造がコロコロ変わる開発初期段階でEF使うととっても楽よ。
コードファーストなEFが勝手にDBを変更してくれるから別途DB管理ツールがいらないのでC#のみに集中できる。

すでにかっちりとしたDB(テーブル)があるモデルファーストなら、速度面重視でEFよりdapperかな
EFは機能がリッチな分、テーブル内の大量レコードを扱うと速度面不利なところがある。
小規模人数しか使わないシステムならEFでも全然アリ。
不特定の数万人が使うシステムならEFで初めて方針が固まったところやボトルネック部分を
dapperに置き換えるか、巣のSQL文にしていく。