データベース操作をコントローラーから切り離す
前回の記事で作成したプログラムは、コントローラーの中でデータベースの操作を行っていましたが、今回は新しくモデルを作成して、その中でデータベースに関する操作を行います。
データベースに関する詳しい内容は、以下のマイクロソフトの公式サイトを参照してください。
モデルを配置するフォルダを作成
まず、モデルを配置するフォルダーを作成します。
フォルダーの追加は、プロジェクトにカーソルを合わせ、右クリックから「追加」→「新しいフォルダー」を選択します。
デフォルトで「NewFolder1」というフォルダーが作成されますので、名前を変更します。
フォルダー名は特に決まりはありませんが、今回は「Data」というフォルダー名にします。
データベース操作用クラスの作成
作成したフォルダー配下に、データベース操作用のクラスを作成します。
作成したフォルダーにカーソルを合わせ、右クリックから「追加」→「クラス」を選択します。
前回のプログラムでは、コントローラー側にあったデータベースの処理を、新規に作成したGetEmp()メソッドの中にそっくり移します。
GetEmp()メソッドの戻り値として、Empテーブルのリストを返します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Imports System.Web.Mvc Public Class DbModel Function GetEmp() As List(Of Emp) Dim emp As List(Of Emp) Using db As New TestDbEntities emp = db.Emp.ToList() End Using Return emp End Function End Class |
コントローラーの修正
コントローラーから元々あったデータベースの操作部分を削除し、新規に作成したデータベース操作用クラス(DbModel)をインスタンス化して、GetEmp()メソッドを呼び出します。
ビューには、前回と同じくEmpテーブルのリストを渡しているので、ビュー側のコードを変更する必要はありません。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Imports System.Web.Mvc Namespace Controllers Public Class HomeController Inherits Controller Function Index() As ActionResult Dim model As New DbModel Return View(model.GetEmp()) End Function End Class End Namespace |
プログラムを実行
プログラムを実行すると、前回と同じ内容が表示されます。