Skip to content Skip to sidebar Skip to footer

Pengertian Entity Framework Core dan Cara menggunakannya (Dalam C# dan menggunakan Database)

Assalamu‘alaikum wr. wb.

Hello guys! Jika sebelumnya kita telah menggunakan Database SQL dalam Bahasa Java di NetBeans, sekarang waktunya kita menggunakan Database (SQL) dalam Bahasa C# dengan menggunakan Entity Framework Core.





APA ITU ENTITY FRAMEWORK CORE?

A. Pengertian Entity Framework

Kita biasa membuka koneksi ke database, membuat DataSet untuk mengambil atau mengirimkan data ke database, mengubah data dari DataSet ke objek .NET atau sebaliknya untuk menerapkan aturan bisnis. Ini adalah proses yang rumit dan rawan kesalahan. Microsoft telah menyediakan kerangka kerja yang disebut "Entity Framework" untuk mengotomatiskan semua aktivitas terkait basis data ini untuk aplikasi Anda.

Entity Framework adalah kerangka kerja ORM sumber terbuka untuk aplikasi .NET yang didukung oleh Microsoft. Ini memungkinkan pengembang untuk bekerja dengan data menggunakan objek kelas khusus domain tanpa berfokus pada tabel dan kolom database yang mendasari tempat data ini disimpan. Dengan Entity Framework, pengembang dapat bekerja pada tingkat abstraksi yang lebih tinggi ketika mereka berurusan dengan data, dan dapat membuat dan memelihara aplikasi berorientasi data dengan kode yang lebih sedikit dibandingkan dengan aplikasi tradisional.

Definisi Resmi yaitu “Entity Framework adalah object-relational mapper (O/RM) yang memungkinkan pengembang .NET untuk bekerja dengan database menggunakan objek .NET. Ini menghilangkan kebutuhan untuk sebagian besar kode akses data yang biasanya perlu ditulis oleh pengembang.”

Gambar berikut mengilustrasikan dimana Entity Framework cocok dengan Aplikasi Anda.


Sesuai gambar di atas, Entity Framework cocok antara entitas bisnis (kelas domain) dan database. Ini menyimpan data yang disimpan di properti entitas bisnis dan juga mengambil data dari database dan mengubahnya menjadi objek entitas bisnis secara otomatis.

B. Fitur-fitur pada Entity Framework (EF)

Adapun beberapa Fitur pada Entity Framework (EF) yaitu :
  • Lintas Platform (Cross-platform) : EF Core adalah kerangka kerja lintas platform yang dapat berjalan di Windows, Linux, dan Mac.
  • Pemodelan (Modelling) : EF (Entity Framework) membuat EDM (Entity Data Model) berdasarkan entitas POCO (Plain Old CLR Object) dengan properti get/set dari tipe data yang berbeda. Ini menggunakan model ini saat menanyakan atau menyimpan data entitas ke database yang mendasarinya.
  • Querying : EF memungkinkan kita untuk menggunakan Query LINQ (C# / VB.NET) untuk mengambil data dari database yang mendasarinya. Penyedia basis data akan menerjemahkan kueri LINQ ini ke bahasa kueri khusus basis data (mis. SQL untuk basis data relasional). EF juga memungkinkan kita untuk mengeksekusi query SQL mentah langsung ke database.
  • Pelacakan Perubahan (Change Tracking) : EF melacak perubahan yang terjadi pada instance entitas Anda (Nilai properti) yang perlu dikirimkan ke database.
  • Menyimpan (Saving) : EF mengeksekusi perintah INSERT, UPDATE, dan DELETE ke database berdasarkan perubahan yang terjadi pada entitas Anda saat Anda memanggil metode SaveChanges(). EF juga menyediakan metode SaveChangesAsync() asinkron.
  • Concurrency : EF menggunakan Optimistic Concurrency secara default untuk melindungi penimpaan perubahan yang dibuat oleh pengguna lain sejak data diambil dari database.
  • Transaksi : EF melakukan manajemen transaksi otomatis saat menanyakan atau menyimpan data. Ini juga menyediakan opsi untuk menyesuaikan manajemen transaksi.
  • Caching : EF menyertakan caching tingkat pertama di luar kotak. Jadi, kueri berulang akan mengembalikan data dari cache alih-alih mengenai database.
  • Konvensi Bawaan (Built-in Conventions) : EF mengikuti konvensi pola pemrograman konfigurasi, dan menyertakan seperangkat aturan default yang secara otomatis mengonfigurasi model EF.
  • Konfigurasi : EF memungkinkan kita untuk mengonfigurasi model EF dengan menggunakan atribut anotasi data atau Fluent API untuk mengesampingkan konvensi default.
  • Migrasi : EF menyediakan satu set perintah migrasi yang dapat dijalankan pada NuGet Package Manager Console atau Antarmuka Baris Perintah untuk membuat atau mengelola Skema basis data yang mendasarinya.

C. Versi Terbaru pada Entity Framework

Microsoft memperkenalkan Entity Framework pada tahun 2008 dengan .NET Framework 3.5. Sejak itu, ia merilis banyak versi Entity Framework. Saat ini, ada dua versi terbaru Entity Framework: EF 6 dan EF Core. Tabel berikut mencantumkan perbedaan penting antara EF 6 dan EF Core.



PERSIAPAN ENTITY FRAMEWORK


A. Pengertian Entity Framework di Project Visual Studio beserta dengan Cara-caranya

Sebelum Anda melihat beberapa contoh penggunaan EF, Anda harus merujuknya dalam proyek kami, yaitu, membuat perpustakaan dapat diakses oleh solusi. Kemudian kita akan membuat proyek baru di Visual Studio, pilih template yang diperlukan (dalam contoh, seperti yang diharapkan, akan mengurutkan C # WinForms). Selanjutnya simpan solusinya (penting untuk menghindari alert ditambahkan EF) lalu kita buka manage paket Nuget.


Di dalamnya, kita akan mengemas kerangka kerja entitas dan itu hanya akan menambah solusi kami, menggunakan tombol "Instal". Setelah selesai, kita akan melihat bagaimana salah satu referensi proyek dimasukkan ke yang terkait dengan EF.


Sekarang, kita siap untuk menggunakan potensi ORM kami, sejauh menyangkut pengembangan. Kita juga akan melihat bagaimana melakukan koneksi database awal dan kelas pemodelan, mengikuti dua paradigma yang disebutkan di atas.

B. Membuat Aplikasi .NET Core Console di VS Code

Jika Anda memiliki versi Visual Studio yang mendukung .Net Core (2017 atau lebih tinggi), Anda dapat menggunakan Templat Proyek (Project Template) untuk membuat aplikasi konsol .Net Core baru. Atau, Anda dapat menggunakan alat baris perintah untuk membuat dan membangun proyek. Anda dapat menggunakan Terminal yang terintegrasi ke dalam Visual Studio Code untuk ini.


Buatlah folder apapun, misalnya EFCore dan kemudian buka di Visual Studio Code (VS Code). Selanjutnya, untuk menjalankan Terminal di VS Code, silakan klik di bagian "Terminal --> New Terminal" atau Tekan Ctrl + ' untuk membuka Jendela Terminal baru dan kemudian ketik perintah berikut (Jika memakai SQL Server) :

dotnet new console
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

Dan jika memakai MySQL, maka ganti saja menjadi :

dotnet new console
dotnet add package MySql.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Tools



Perintah-perintah di atas :
  • Membuat perancah Aplikasi Console .NET Core kosong.
  • Menambahkan paket tooling Entity Framework Core dan EF Core dari Nuget ke project.
Terakhir, jalankan perintah berikut untuk memulihkan paket dan kemudian uji untuk melihat bahwa perintah ef tersedia untuk proyek :

dotnet restore
dotnet ef -h


Jika tidak bisa menjalankan perintah dotnet ef -h, maka ketiklah perintah berikut ini :

dotnet tool install --global dotnet-ef

Kemudian ulangi lagi perintah diatas. Setelah itu akan seperti ini :


Terakhir, buat dan jalankan aplikasi dengan satu perintah :

dotnet run


Ini menghasilkan Aplikasi Konsol Minimal (Minimal Console Application) :


Langkah selanjutnya adalah membuat Model.


MEMBUAT MODEL PROGRAM

A. Menginstall Package NuGet Gallery di VS Code

Sebelum itu, marilah kita menginstall Package NuGet Gallery di VS Code terlebih dahulu sebelum membuat program. Caranya adalah klik di Tombol Extentions lalu carilah "NuGet Gallery", kemudian Install dan tunggu beberapa detik.


Kemudian, kita akan membuka Fitur NuGet Gallery melalui Commands. Caranya yaitu klik di bagian "Help --> Show All Commands" atau Ctrl + Shift + P.


Kemudian, carilah "NuGet Gallery" dan di klik.


Dan beginilah Tampilan NuGet Gallery :


Kemudian, carilah MySQL dan klik "MySql.Data.EntityFrameworkCore", kemudian Install.


Kemudian, Install lagi Ekstensi Pomelo.Entity.FrameworkCore.MySql.


C. Membuat Kode Program

Dan inilah Contoh dari Proses CRUD dari Program Entity Framework Core :

using System;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EFCore
{
    public class EFDatabase
    {
        public static void Start()
        {
            var optionsBuilder = new DbContextOptionsBuilder<MyDbDataCtx>();
            optionsBuilder.UseMySQL(@"server=localhost;port=8080;database=ABCDEF;uid=root");
            var context = new MyDbDataCtx(optionsBuilder.Options);

            context.Database.EnsureCreated();

            // Insert
            EFCore.Models.Mahasiswa mahasiswa = newEFCore.Models.Mahasiswa();
            mahasiswa.Nama = "Inzaghi Posuma";
            mahasiswa.Email = "inzaghi.posuma@student.pradita.ac.id";
            context.Mahasiswas.Add(mahasiswa);
            context.SaveChanges();

            // Update
            var mhs = context.Mahasiswas.FirstOrDefault(m => m.ID == 2);
            mhs.Nama = "Bryan Elmer";
            mhs.Email = "bryan.elmer@student.pradita.ac.id";
            context.SaveChanges();

            // Select
            var listMahasiswa = context.Mahasiswas.Where(m => m.Nama.Contains("Har")).ToList();
            var mhssStartwith = listMahasiswa.Where(m => m.Nama.StartsWith("Ha"));
            var mhssEndwith = listMahasiswa.Where(m => m.Nama.EndsWith("o"));

            // Delete
            var mhs = context.Mahasiswas.FirstOrDefault(m => m.ID == 2);
            context.Mahasiswas.Remove(mhs);
            context.SaveChanges();

        }
    }
}


VIDEO

Untuk melihat Contoh-contoh dari Entity Framework Core, lihatlah Video-video YouTube di bawah ini.





Mohon maaf apabila ada sedikit kekurangan, dikarenakan Laptop saya tidak bisa menjalankan Visual Studio, sehingga saya hanya bisa menggunakan Visual Studio Code (VS Code).

Terima Kasih šŸ˜„šŸ˜˜šŸ‘ŒšŸ‘ :)

Wassalamu‘alaikum wr. wb.

Ads