14 Feb 2018

Tutorial ASP.NET Core : Menggunakan Entity Framework Core (Code First)

Kita akan mencoba membuat sebuah project ASP.NET dengan dukungan Entity Framework Core dengan database dari data model yang kita buat dalam project. Disini saya menggunakan Visual Studio 2017 dengan .NET Core 2.0.

Langsung saja kita buat sebuah project baru ASP.NET Core Web Application
Membuat Project EFCore masrahman28.blogspot.com
Kemudian pilih Web Application (Model-View-Controller) dengan No Authentication
Memilih Tipe Project MVC masrahman28.blogspot.com
Jika project sudah terbuat sebenernya bisa kita running kok silahkan coba aja F5 tapi ya gitu tampilan default, lanjut aja kita masuk ke menu Tools->Nuget Package Manager->Package Manager Console dan install tiga buah references di bawah ini

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

Jika sudah sekarang kita buat Model untuk databasenya, masuk ke folder model pada solution explorer dan buat class dengan nama DataContext.cs

using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace WebApplication1.Models
{
    public class DataContext : DbContext
    {
        public DataContext(DbContextOptions<DataContext> options) : base(options) { }
        public DbSet<Biodata> Biodata { get; set; }
        public DbSet<Mahasiswa> Mahasiswa { get; set; }
    }

    public class Biodata
    {
        public int biodataId { get; set; }
        [MaxLength(100)]
        public String nama { get; set; }
        [MaxLength(50)]
        public String tempat { get; set; }
        public DateTime tgllahir { get; set; }
        public String alamat { get; set; }
        public virtual Mahasiswa mahasiswa { get; set; }
    }

    public class Mahasiswa
    {
        public int mahasiswaId { get; set; }
        [MaxLength(16)]
        public String npm { get; set; }
        [MaxLength(50)]
        public String jurusan { get; set; }
        [MaxLength(4)]
        public String angkatan { get; set; }
        public int biodataId { get; set; }
        public virtual Biodata biodata { get; set; }
    }
}

Setelah itu kita tambahkan koneksi ke database Sql Server kita di file Startup.cs pada method ConfigureServices menjadi

    public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            var connection = @"Server=your server;Database=your DB;User id=sa;Password=your password";
            services.AddDbContext<DataContext>(options => options.UseSqlServer(connection));
        }

Jika menggunakan windows authentication untuk login ke Sql server maka

var connection = @"Server=your server;Database=your db;Trusted_Connection=True;ConnectRetryCount=0";

Setelah selesai, kita akan coba melakukan migrasi database dimana class yang kita buat akan kita generate menjadi database di Sql server. Kita masuk lagi ke Nuget package manager console dan execute perintah

Add-Migration InitialCreate

Setelah itu untuk dapat melihat perubahan database ke Sql Server kita satu lagi yang perlu kita execute yaitu

Update-Database

Proses selanjutnya kita coba dengan menggunakan scaffolding CRUD yang akan mempercepat kita membuat fungsi CRUD dari satu buah model database. Kita tambahkan Controller di dalam folder Controller yang ada di Solution Explorer
Menambahkan Scaffold MVC CRUD masrahman28.blogspot.com
Kemudian kita pilih model yang ingin kita buat Controller dan View nya
Memilih Model yang akan dibuat Controller dan View Catatan Penuntut Ilmu
Ulangi langkah tadi untuk mengenerate semua model yang kita inginkan buat CRUD secara otomatis ya. Dan jika sudah kita buat silahkan jalankan project. Untuk pemanggilan Controller hati-hati case Sensitif contohnya jika kita akan memanggil BiodatasController pada halaman browser maka http://localhost:58119/Biodatas port bergantung dari IIS ketika menjalankan aplikasi ya. Maka contohnya akan jadi seperti pada gambar
Contoh Project EFCore masrahman28.blogspot.com


Tidak ada komentar:

Posting Komentar