[M]inggu kemarin saya memperoleh training dengan materi .NET Framework yang isinya hal-hal dasar seputar .NET seperti arsitektur dan komponen-komponen penyusun juga tidak ketinggalan dibahas sedikit mengenai teknologi andalan : Entity Framework, WCF dan ASP.NET MVC (sedikit saja karena untuk masing-masing nanti akan ada training khususnya :D). Pada tulisan ini saya coba share ilmu yang telah saya dapatkan khususnya Entity Framework Code First.
Entity Framework Code First
Singkatnya, Entity Framework adalah sebuah ORM buatan Microsoft. Kalau pernah main-main dengan Hibernate atau JPA di Java pasti paham apa itu ORM.
Code First adalah sebuah metode di mana kita membuat kode kelas terlebih dahulu baru kemudian dibuat tabel databasenya berdasarkan kelas tersebut. Metode ini juga ada di Hibernate dan JPA dan saya rasa menjadi populer sejak adanya fitur Migration di Ruby on Rails.
Let’s Code It
Cara mudah untuk bisa memahami pemrograman adalah dengan langsung mencobanya jadi tunggu apa lagi? silahkan buka Visual Studio dan buat sebuah Console Project dengan nama EntityFrameworkCodeFirst-Belajar. Lihat pada gambar di bawah
Karena masih belajar hal dasar maka saya buat sederhana saja dengan hanya menggunakan sebuah kelas entity yang nanti akan di-generate tabelnya. Buat kelas dengan nama Student seperti berikut
file : Student.cs
1 2 3 4 5 6 7 8 |
public class Student { public int StudentId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Major { get; set; } public string Address { get; set; } } |
Kalau sudah maka langkah selanjutnya menambahkan library Entity Framework ke dalam project. Syaratnya adalah komputer/laptop yang sedang kamu gunakan harus online karena kita akan mencari library-nya secara online menggunakan Nuget. Klik kanan pada node project kemudian pilih Manage Nuget Packages…, perhatikan gambar
Kemudian searching saja “entity framework” dan klik install jika sudah menemukannya.
Library EF sudah terpasang maka saatnya lanjut ngoding. EF ini membuat tugas kita sebagai software engineer menjadi gampang banget, teknologi buatan microsoft memang terkenal memanjakan para developer. Mau bukti? tulis terlebih dahulu kode berikut
file : MyContext.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; namespace EntityFrameworkCodeFirst_Belajar { public class MyContext : DbContext { public DbSet<Student> Students { get; set; } } } |
Cukup dengan kode di atas kita sudah bisa melakukan CRUD terhadap entity Student / tabel Students :p. Kurang gampang apa lagi?
Oke, loncat ke bagian selanjutnya. Kita coba kesaktian EF dengan mengeksekusinya pada kelas utama kita. Ubah kelas Program menjadi seperti ini
file : Program.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class Program { static void Main(string[] args) { var student = new Student() { StudentId = 1, FirstName = "Agung", LastName = "Setiawan", Major = "IT", Address = "Semarang" }; MyContext context = new MyContext(); context.Students.Add(student); context.SaveChanges(); Console.WriteLine("Data saved!"); Console.ReadLine(); } } |
Jalankan kelas di atas
Data sudah masuk ke dalam database!!
Gampang buanget.
Biar percaya kalau data memang sudah masuk silahkan buka Server Explorer
Buat koneksi baru dengan lokasi server adalah (localdb)\v11.0 (ini adalah lokasi default yang digenerate oleh EF, jika ingin menggunakan server lain, misal localhost nanti saya bahas pada tulisan berikutnya). Pilih database yang memiliki nama dengan format NamaProject.NamaKelasContext
Silahkan dibuka, pasti disitu ada sebuah tabel dengan nama Students yang merupakan hasil generate dari kelas Student.
Klik kanan pada tabel dan pilih Show Table Data. Isinya adalah data yang tadi kita masukkan melalui kelas Program.
Cukup sampai di sini dulu saja. Tulisan selanjutnya persis setelah ini akan membahas Read, Update dan Delete menggunakan EF. Tenang saja, masih sama guampangnya 😉
See you Guys!!!
[followme]
wah,..ini bener2 keren kl menggunakan EF….saya bru memulai untuk belajar EF,..kerena keseringan menggunakan nhibernate…tetapi nampaknya EF lebih compatible dengan c#…karena EF buatan Microsoft,…sbelumnya ketika menggunakan nhibernate saya sering mengalami kendala yaitu terletak pada library nya….
Mas, cara buka file .mdf nya gmn ya? Saya buka pake mdf viewer kok gak bisa ya.
Salam kenal, saya sdg belajar web database. Mohon infonya:
1. Apakah SQL server yg disemat dalam Visual Studio sama dengan SQL server yg diinstal secara Mandiri. 2. Berapa batasan besar database sql server yg disemat dalam VS…. atau bagaimana ? Mohon penjelasan Tks.