Model

Model bertugas mengelola data, logika dan peraturan suatu aplikasi. Model berinteraksi langsung dengan database.

Menambah model

Pada folder Model, buat file baru dengan nama 'Movie.cs' isi file tersebut dengan kode berikut (sesuaikan namespace):

using System;
using System.ComponentModel.DataAnnotations;

namespace MvcMovie.Models
{
    public class Movie
    {
        public int Id { get; set; }
        public string Title { get; set; }

        [DataType(DataType.Date)]
        public DateTime ReleaseDate { get; set;}
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
}

Menginstall Library Entity Framework

pada terminal, jalankan:

Untuk menginstall model, cek jika berhasil menggunakan dotnet ef, jike berhasil akan muncul logo EF

Pada terminal, pada directory proyek, jalankan:

Untuk menambah package yang diperlukan, cek pada file MvcMovie.csproj atau sesuai dengan nama proyek, cek apakah ada dua baris berikut (jangan ditulis manual!):

Membuat DbContext

Kita akan melakukan pendekatan code-first, yaitu membuat kode nya untuk menghasilkan database. Untuk itu diperlukan juga sebuah DbContext.

DbContext pada dasarnya adalah cara kita mengakses database dari kode.

Buatlah folder Data baru, lalu didalamnya buat file MvcMovieDbContext.cs, lalu isi file tersebut dengan kode berikut:

Di kode tersebut, DbSet merupakan representasi dari 'Tabel' di database, jadi DbSet<Movie> merupakan tabel Movie. Dimana Movie adalah model yang sudah kita buat tadi.

Mengatur proyek agar menggunakan DbContext

Pada file Startup.cs, pada bagian paling atas, tambah namespace-namespace yang kita perlukan, yakni:

lalu pada method ConfigureServices, tambah

di bagian akhir. Untuk version, disitu tertulis 10, 6, 4. Ganti sesuai dengan versi mariadb.

Untuk mengetahui versi mariadb dapat menjalankan query berikut:

Setelah itu, kita perlu memberi program kita 'ConnectionString' yang digunakan untuk mengkoneksikan ke database.

Buka file appsettings.Development.json, lalu masukkan

dibagian akhir, sehingga menjadi (perhatikan koma):

ganti '123456' dengan password root mariadb kalian.

Membuat migrasi

Sebelum membuat database, kita perlu membuat sebuah 'migrasi'

Pada terminal jalankan perintah:

Setelah dijalankan akan muncul folder 'Migrations' yang berisi skema migrasi.

Membuat database

Pada saat ini program kita sudah memiliki skema untuk database sekarang kita harus membuat database untuk menampung semua datanya.

Pada bagian 'ConnectionString' kita sudah menyantumkan bahwa nama database nya adalah 'movieapp'

Maka buatlah database bernama 'movieapp' pada mariadb

Setelah database sudah dibuat, jalankan perintah berikut pada terminal:

Refresh database kalian untuk melihat hasilnya, jika berhasil, seharusnya ada tabel baru: Movies

Sebagai uji coba, cobalah masukkan beberapa data ke tabel Movies, berikut contohnya menggunakan query:

Menampilkan data ke view

Pada controller MovieController, buatlah sebuah instance variable baru dengan tipe MvcMovieDbContext (yang tadi dibuat), lalu beri nama variable tersebut _context

Lalu ubah constructornya menjadi seperti berikut:

Sekarang kita sudah memiliki akses ke DbContext -- database kita

Ubahlah method index untuk mengirimkan daftar movie nya:

Lalu pada view Index.cshtml di Movie, bagian paling atas file tambah:

agar dapat mengakses daftar model movie yang tadi kita kirimkan, ubah juga tampilannya, untuk menampilkan daftar movie, secara keseluruhan, file Index.cshtml akan menjadi seperti berikut:

Last updated