天天看點

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

之前介紹了My Blog如何使用ADO.NET來通路SQL Server擷取資料。本章将介紹如何使用My SQL來完成資料管理。

在使用My SQL之前需確定開發環境中安裝了My SQL資料庫和Connector/Net,後者是一個用C#編寫的ADO.NET資料提供器,換句話說無論使用SQL Server還是My SQL,ASP.NET都是通過ADO.NET來通路、操作資料庫的,它們唯一的差別是資料提供器,是以連接配接My SQL仍然需要使用System.Data.dll中的類型,以下是之前文章所介紹的:

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

唯一不同的是My SQL的ADO.NET資料提供器是需要安裝Connector/Net。

本文通過以下兩點來介紹如何在ASP.NET中使用My SQL資料庫:

●安裝My SQL和Connector/NET

●為My SQL建立一個新的倉儲項目

安裝My SQL和Connector/NET

Connector/NET下載下傳位址: https://dev.mysql.com/downloads/windows/installer/

MySQL下載下傳位址(安裝時可以直接選擇是否安裝Connector/NET): https://dev.mysql.com/downloads/mysql/

完成後添加資料表與資料:

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

為My SQL建立一個新的倉儲項目

為其建立一個新的項目原因是讓SQL Server與My SQL共存,二者不會互相影響,到後期可以通過簡單的修改來切換使用的資料庫的目的。

1. 建立一個新的類庫項目BlogRepository.MySQL,并引用Mysql.Data(注:Mysql.Data需要安裝Connector/NET):

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL
asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

2. 使用執行SQL的方式實作一個BlogRepository:

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL
asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL
asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

與SQL Server的代碼對比,隻有對象名稱、SQL以及連接配接字元串存在差異。

3. 變更邏輯層的引用,使用BlogRepository.MySQL,并修改錯誤的命名空間:

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL
asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

4. 運作程式:

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL
asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL

小結

本章介紹了如何在ASP.NET中使用MySQL資料庫,它的使用方式與SQL Server基本相同,隻需要安裝連接配接My SQL需要的元件即可。另外需要注意的一個問題是,現在在整個解決方案中分别有BlogRepository以及BlogRepository.MySQL兩個倉儲類庫,分别對于SQL Server和My SQL但是邏輯層隻有一個,這就意味着每次更換資料庫業務邏輯庫不僅要更換引用,還要修改代碼。這就是典型的依賴實作而沒有依賴抽象的問題。這個問題會在後續介紹解決方法。

參考:

https://dev.mysql.com/doc/connector-net/en/connector-net-programming-connecting.html

歡迎添加個人微信号:Like若所思。

歡迎關注我的公衆号,不僅為你推薦最新的博文,還有更多驚喜和資源在等着你!一起學習共同進步!

asp ado 連接配接測試_ASP.NET開發實戰——(八)ASP.NET MVC 與資料庫之MySQL