剛在整理資料的時候看到這個忘了回在哪個討論串的回應,重新整理一下分享給大家好了。這是個關於到底用 ORM 還是 raw SQL 的宗教戰爭。
---
這個 project 小編一開始是用 ORM,但才過個兩天就轉回 raw SQL 了。原因是有些 table name 有參數,用 ORM 的寫法會比較不直覺。
所以小編在寫 raw SQL 的時候就會遇到幾個問題,像是參數如何傳到 SQL 語法裡面。這時候語言層的 string interpolation 跟 SQL 層的 parameterized 就很好用。
但如果有用到 string interpolation 的話就一定要處理 SQL injection 的問題,還有就是 return 的時候是 cursor 還是實際的資料,這都是要自己去想清楚的。
不過說到底就是看場景而定,小編自己現在是比較偏好寫 raw SQL 就是了。畢竟 raw SQL 有 performance issue 的時候,還比較好調整。
* image from https://live.staticflickr.com/4030/4228947679_76ea6eff50_b.jpg
#sql #orm
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
sql injection語法 在 軟體廚房 Facebook 的最讚貼文
原來有這麼多 SQL Injection 的語法,開眼界了。
https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/
sql injection語法 在 91 敏捷開發之路 Facebook 的精選貼文
靠!喜歡寫 Dapper 或是在 C# 裡面用字串寫 SQL statement 的朋友有福了!
▍傳送門
https://blog.jetbrains.com/…/sql-inside-c-strings-fragment…/
▍Features 簡介
Rider 2018.3, 在你用 C# 寫 string 的時候,可以指定 "inject language 是 SQL", 然後接著在你寫 C# 字串的時候,就會跳 SQL 的 intellisense 讓你選了。
還可以選好一段 C# 字串,直接 run query in console, 馬上看到查詢的結果。
也可以在字串裡面,選擇要編輯的是 json, 然後在 json fragment 裡面直接搞定格式。
※ SQL 也可以用上面這一招,讓你在 C# editor 裡面,用 SQL fragment 直接寫 SQL statement, C# 那邊會自動生成,而 fragment 視窗會檢查 SQL 語法。
--
By merging language injection functionality from IntelliJ IDEA and ReSharper, we now support languages like CSS, HTML, JSON, regular expressions and JavaScript, as well as SQL, XML, MsBuild, YAML, and many more.
※ 已經夠多了....
#這力道是想挑戰一下龍頭的地位嗎
#Rider!