てぃぐれのプログラマwiki

ワクワクに従う

EntityFrameworkをSQLで【C#】

経緯

EntityFrameworkに感動と失望を抱いていた中、「ある程度結合するようならSQLで書いたほうがいいよ」という鶴の一声を聞く。

ある程度ってどれくらい!?

まだ、開発をクエリーベースにするなら間に合う!!

 

SQLのほうが速い

これは実際に試していないのだが、「EntityFramework 遅い」という記事の改善案でよくみられる。

そしてQueryのjoinの仕方とかみても、パフォーマンス考えてくれていない。

こちらでチューニングもできる。逆に言えば、書き手次第では遅くなる。

 

学習コストが低い

MVCに慣れていない人でもSQLなら少しはという人が書いていける。

欲しい値をとってこれる。

 

 

使うならこのメソッド?

生 SQL クエリ - EF Core | Microsoft Docs

SQLクエリって訳し方雑すぎやろ。

FromSqlInterpolated ExecuteSqlInterpolated 

を使っておけば間違いなさそう。

FromSqlRawとかは使いかたによってはSQLインジェクションを招きかねない。

(自分のドキュメントの見方に間違いがなければ。。)

 

後記

最初はSQL書かないことに今時性を見出していたが、、、

それか、守破離ができていないだけなのか。

でも、パフォーマンスやチーム開発を含めてそちらに傾かせているので、エゴではないと信じている。