舊系統導入Asp.net MVC -資料存取篇
最近都在處理把舊系統升級成asp.net mvc,在這個修改的過程遇到了不少的問題。以這篇來講,要說的就是舊系統大多都是用ado.net的方式來取資料。目前大部份的mvc教學中,都是搭配entity framework做操作。但是用這個就會遇到一個狀況。舊有的sql要翻譯成linq的語法。在翻譯的過程式如果神智不清的話,問題就變得很多。 其實在導入mvc的時候,不一定非要用entity framework來存取資料,我們也可以整合現有的ado.net來進行操作。 首先我們先到Nuget中,查詢 dapper 找到後直接安裝他。 接下來我們需要建立一些Model,這個部份我們可以使用entity framework來幫我們產生。這樣比較省時間。接下來我們對資料的處理就像以下所示。在 connection.Query的後面把我們model加上去。後面直接加入sql的語法。 string myConnectionString = "xxxxxxx"; using (var connection = new SqlConnection(myConnectionString)) { connection.Open(); var posts = connection.Query<TEST_20130426>("SELECT TOP 20 *FROM [xxxx].[dbo].[TEST_20130426]"); foreach (var xx in posts) { System.Diagnostics.Debug.Write("測試sql query "+xx.EMAIL_ADDR + "\n"); } 執行後,回傳的就是物件了。