『ASP.NET Core MVC,主任知道這個新技術嗎?』小魏上過第一次的課回來就在炫。
『知道,微軟最近把ASP.NET的技術推進到跨平台的主要技術,所以你們老師是教這個。』
『嗯,他說本來是ASP.NET MVC,但現在版本演進,變成是ASP.NET Core MVC。』
『喔,你是去上ASP.NET Core的課,我還以為是ASP.NET MVC。』
『MVC的課滿人了,所以跟經理爭取了一下,請公假去上白天的.NET Core課程,這個星期上了第一階段的課,下個星期要上第二階段的課,總共費用將近三萬,又省了幾千元,謝謝主任的金卡。』小魏有些得意表情。
『好,那今天我們先來談談人資部要的薪資計算系統怎麼進行。』
『批出來了嗎?要進行了?』
『是的,前天總經理找我們去開會就決定了。這個系統做好上線,我們就獨立成資訊室的單位,還要再補兩個新人。』我順便抛一個震憾彈。
『哦?之前有向葉經理建議,資訊獨立出來,不要掛在人資部下,這樣大家都好辦事。沒想到是主任促成了這件事。』小魏又一付酸樣,大概沒坐上寶位吧。
『先把系統做好再說吧。系統沒弄好,一場空。』我把我的電腦開機,一邊說。
『是啊。』
『好吧,你坐我我這邊,我把我這兩天構思的系統架構跟你討論一下。功能架構圖是這個樣子。』我調出一張圖給小魏看。
『嗯,看起比較完整,比做的Excel檔案更能符合葉經理的想法。』小魏大致看了一下,發表他的看法。
『接下來還有畫面設計,和資料庫設計。對了,你會用SQL Server吧?』
『有學了些,之前到X逸上過課,沒有實作的經驗。』
『沒關係,SQL Server很簡單的,我打算在SQL Server裏建好資料庫再給系統用。』
『我上課時,講師提到Code First的做法,聽不太懂。似乎主任要用Database first的作法?』
『對,我還是比較喜歡先用資料庫正規化的方法把資料庫結構建好,以後也是用SQL Server的SSMS來進行維護修改Schema的工作。』
『等一下,如果資料庫裏的Table增加或修改了欄位,比方說資料型態改變了,程式裏的Model怎麼辦?也要手動修改嗎?』小魏反應很快的找出問題點。
『不會的,有Entity Framework可以輔助我們在ASP.NET Core的環境下持Model與資料庫元件間的一致性,只是要會在Visual Studio中執行Colsole指令,驅動Entity Framework更新Model的結構,與資料庫一致。』
『嗯,講師有講到點指令,也有實作,只是看不懂。』小魏說著還搖搖碩,似乎氣餒的樣子。
『你不是下星期要去上第二階段的課,順便再請講師教一遍看看。』
『Database First和Model First差別,只在於由那邊主動管理應用桯式的資料庫結構,如果是Model First,就是在ASP.NET Core的環境下編寫Model類別,然後呼叫Entity Framework的指令連到SQL Server把資料庫建起來。兩種方法都一樣,只是資料庫同步的方向不同而己。』
『講師說,Model First就是Code First,用Code First就能在ASP.NET Core的環境下直接維護資料庫,不同再用SSMS來管理資料庫。』小魏又開始抬摃起來。
『都一樣的,你再想想,最終是不是需要兩邊的物件一致,系統才能執行不會有問題?不是有講嗎?管他黑貓白貓,能抓老鼠的就是好貓。管他Database First Model First Code First,能讓我們能儘快完成系統開發的,就是好工具。』
『嗯,可以這麼說。那這樣,我是不是可以選用我比較合意的方式來進行開發?』
『當然可以,沒問題的。只是,我們分工一下,系統規劃與資料庫建立由我來執行,你負責程式編寫的部份,可以嗎?』
『好的,看主任怎麼安排,我全力配合。只是,該不會全都我編碼吧?』
『不會,我也會負責一部份。基本上,我想基本資料維護的部份由你來完成,我來完成計算的部份。反正下星期你還要上課,我先把資料庫建好,等你回來就可以動工了。』
『薪資計算的部份,我會用T-SQL寫成Stored Proedure,不寫在ASP.NET Core程式內。』
『哦,主任為什麼這樣規劃?』
『一方面,基本上我有一個原則,能在資料庫處理的事,就讓資料庫來處理。二方面,我不太會用Controller來做計算。』我對小魏哈哈乾笑兩聲。『所以用Stored Procedure來寫,然後在月份薪資計算功能裏,呼叫這個STored Procedure就能完成薪資計算了,方便又省事。』
『嗯,主任有把握完成就行。』
『一起努力吧!今天就談到這裏,我再繼續把資料庫規劃好,你繼續完成課程,下下個星期你回來時,就正好開始閇發基本資料維護功能。』
『好,我先去巡一下各單位,看看有沒有電腦方面的問題。』
『嗯,有你空時再溫習一下SQL Server的SSMS操作,尤其SQL指令的應用要熟練一些,講師有講到怎麼利用資料庫建Model嗎?』我問小魏。
『有,只是聽不太懂,看講師操作,東點一下,西點一下,幾下就弄完了,自己來實作時,根本找不到該點那些地方。』小魏也乾笑兩聲。
『嗯,沒關係,還有時間學習。』
『我先去會計室看一下電腦,有一台不能印表。』
『好,就先這樣子了。』
小魏離開後我抽出幾張A4空白紙,開始畫下資料庫結構:
一下子完成三個表,看看時間也差不多該去各部門串串門子了。
資料型態 money ?
別說 smallmoney
用個 decimal(5,0) 就可以打發我了
總統令。跟你的老闆說啊!