發表文章

目前顯示的是有「開發技術類-ORM-另一種資料存取對映處理方式的選擇」標籤的文章

自救必看三大準則

另一種資料存取對映處理方式的選擇 - Dapper

圖片
這一篇文章的內容是依據我在公司裡所分享的主題「 ASP.NET.MVC / Web API 另一種存取方式 」再加以整理。接觸 Dapper 這個資料存取套件是有一段時間,但一直都沒有機會使用上,因為之後所做的專案多半都是使用 Entity Framework,而在去年要開始做新專案的時候,因為系統環境以及舊有包袱的緣故,於是我就想起了 Dapper,也的確解決了許多原有的問題並且大來很大的效益。 這一篇介紹 Dapper 並不會有特別深入的使用介紹,大概只能算是入門介紹,最主要的目的是要讓大家能夠知道在現有環境無法使用 ORM 的情況,尤其又是開發 ASP.NET MVC / Web API 的專案,除了 Entity Framework 之外能夠有其他的替代方案。 注意,並不是說 ASP.NET MVC / Web API 才能夠使用 Dapper,任何你之前使用 ADO.NET + T-SQL 所開發的專案都可以使用(一定要先這麼說,不然一定很多人會有所誤解,這是寫部落格文章四年多來,接到無數回應、詢問所得到的心得。) 內容大綱 Model 強型別與弱型別 為何開發 ASP.NET MVC / Web API 不建議使用 DataSet, DataTable 目前開發碰到了哪些問題? 使用 Dapper 以操作範例來說明 Model 在這邊先說明什麼是「資料模型」: 「資料模型」用於封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法 有關「資料處理」的範圍都可屬於 Model,包含: 資料庫的存取操作(讀取、寫入) 資料結構的定義 資料格式的驗證 Model 還有做哪些事情以及不做那些事情 在 ASP.NET MVC 中 Model 負責所有與「資料」有關的任務 不處理所有與資料處理無關的事 不直接處理來自瀏覽器的輸入,也不向瀏覽器產生 HTML 輸出。 ASP.NET MVC 架構對可以建置的各種模型物件沒有任何限制。 可用哪些來作為 Model ORM Solution ADO.NET Entity Framework NHibernate, SubSonic, LLBLGen Pro … etc 也可以用「非 ORM Solution」,但是會非常累…...