擴充 Mantis Bug 系統的功能
市面上有許多功能不錯的免費軟體系統,大多是存取 MySQL 這個資料庫,這樣的系統只要加以擴充,對於個人或是公司都會有很大的幫助,而擴充的成本却是很小的。在這裡我們希望用相同的軟體積木來存取 MySQL。
Mantis 系統的全名為 Mantis Bug Tracker (以下稱 MantisBT),它的用途是在系統開發的過程中記錄問題與追踪進度,有很好的穩定性。在 Windows 平台下,我們安裝了 Xampp 和 MantisBT 最新版本,完成之後,MantisBT 的操作畫面如下圖,我們同時在這個畫面建立2筆測試資料:

進入 MySQL 的管理介面後,從下圖中你可以看到 MantisBT 系統的資料庫名稱是 bugtracker,以及它的許多資料表,其中 code 這個資料表是我們自行建立用來儲存下拉式欄位所需要的 Key-Value 對應資料。

接下來我們需要在 Visual Studio 建立一個 Web 專案,用來存取 MantisBT 的資料庫,專案名稱為 Mantis,如下圖,你可以到 GitHub 來下載這個 Mantis 專案,它的建置步驟可以參考開發環境設定:

同時,在下圖中把 appsettings.json 的資料庫連線指向 MantisBT 的資料庫:

在程式方面,我們要讓系統可以直接存取 MySQL,如下圖在 Startup.cs 檔案裡面,將 ADO.NET 指向 MySql 相關類別:

完成以上的設定之後,我們在 Mantis 專案建立了一個 [Bug維護] 功能,檔案名稱為 BugController.cs,以下畫面是這個功能的清單畫面,它會讀取我們在 MantisBT 所建立的資料:
