2013年7月18日 星期四

修改後端model初體驗!

今天我深深體會到技術真的是日新月異! 從事資訊工作真的是處處充滿驚奇!

photo credit: babasteve via photopin cc

今天 LION 大大教我如何在後端修改 Model 然後自動更新資料庫欄位!  ( 他稱這叫作 Migration

他教我這種先寫程式然後去修改資料庫的方式叫作  Code first !

反之,先改資料庫然後再動程式的方式就叫做  DB first !

雖然我之前也寫過C#,但我從來不知道有 Code first 這種東西!

這真是太有趣了!  今天真的是長知識了啊! XD

感覺上 Code first 真的是很方便!  Model 改完下個指令 DB 便隨即更新!

不像我以前還要先開資料庫起來,然後自己打欄位名稱! 

然後再回到程式裡面再寫程式! ( .net 跟資料庫溝通我只會用很古老的 ado方式.... 嗚!

後端果然也是變化萬千深奧地很呀!!...

其實不只 Code first 讓我覺得驚奇!

之前剛進入CMS專案的時候我也被 Breezejs 驚奇到!

我之前從來不知道 Breezejs 這東西!  

雖然現在對它的詳細細節也不是說很清楚!

但我在改過幾個系統問題之後! 大概知道它是怎樣操作!

感覺上它是用控制物件方法的方式在做資料庫操作! 

單純跟後端要資料來,送資料到後端去!

我覺得  Breezejs 的操作方式有一個很大的特點是我要學習的觀念!

之前還為此問了 LION大大兩次.....

就是 Breezejs 是針對某些 record 改動它的 flag 然後再透過 saveEntity 去更新資料庫! (此段引用自LION語錄

我把它理解為這就很像我們去大賣場買東西!

在賣場裡面我們一定不會拿一個東西就去結帳一次! ( 除非你要蒐集發票啦.....

大多數情況一定是把要買的東西都一次拿齊! 然後到櫃台一口氣結帳!

結帳就是 saveEntity! 結帳後資料庫才真正改變!



photo credit: Walmart Corporate via photopin cc

所以啦!

做批次功能的時候! 就是把批次選取起來的東西都先標記起來! (我想成把東西放到購物車  XD

然後按下一個按鈕後,這按鈕的動作就很像結帳的過程,更新了資料庫!

其實程式操作的邏輯跟我們現實生活中的規則還挺像的啊! 你說是不是!   XD

沒有留言:

張貼留言