Cara menggunakan nuget kerangka entitas mysql

Pada artikel sebelumnya (Menggunakan Entity Framework Pada Visual Studio 2010), saya menggunakan Entity Framework (EF) dengan pendekatan code first. Prosesnya dimulai dengan membuat kelas domain yang kemudian secara otomatis membuat tabel di database. Kali ini saya akan mencoba pendekatan database terlebih dahulu. Kondisi. tabel telah dibuat dalam database. Entity Framework akan menghasilkan kelas domain berdasarkan informasi dari tabel. Saya akan menggunakan database MySQL Server

Sebelum mulai menggunakan MySQL di. NET, pertama-tama saya pastikan bahwa Connector/. NET sudah diinstal. Untuk memasang Konektor/. NET, saya bisa memberi tanda centang untuk item tersebut saat menginstal MySQL Server seperti yang terlihat pada gambar berikut

Cara menggunakan nuget kerangka entitas mysql

Pasang Konektor/. BERSIH

Saya kemudian membuat tabel di database MySQL dengan perintah SQL sebagai berikut

CREATE DATABASE latihan;

GRANT ALL ON latihan.* to steven@localhost;

CREATE TABLE latihan.penjualan (
   id BIGINT(20) AUTO_INCREMENT PRIMARY KEY,
   nomor CHAR(5) NOT NULL,
   tanggal DATE NOT NULL,
   konsumen VARCHAR(100) NOT NULL,
   diskon DECIMAL DEFAULT 0
);

CREATE TABLE latihan.itemPenjualan (
   id BIGINT(20) AUTO_INCREMENT PRIMARY KEY,
   namaBarang VARCHAR(200) NOT NULL,
   jumlah INT NOT NULL,
   harga DECIMAL(18,2) NOT NULL,
   penjualanId BIGINT(20) NOT NULL,
   CONSTRAINT `FK_PENJUALAN_ID` FOREIGN KEY (penjualanId) REFERENCES penjualan(id)
);

Selanjutnya, saya membuat proyek Aplikasi Konsol baru di Visual Studio 2010. Saya kemudian memilih menu Proyek, Kelola Paket NuGet.. untuk menggunakan versi terbaru Kerangka Entitas dalam proyek ini

Setelah memastikan Entity Framework sudah terpasang, saya memilih klik kanan nama project dan pilih menu Add New Item. Pada dialog yang muncul, saya pilih Data, ADO. Model Data Entitas .NET seperti yang terlihat pada gambar berikut

Cara menggunakan nuget kerangka entitas mysql

Buat model baru

Saya mengisi nama model dengan TransactionModel dan mengklik tombol Add. Pada dialog yang muncul, saya pilih Generate from database dan klik tombol Next seperti terlihat pada gambar berikut

Cara menggunakan nuget kerangka entitas mysql

Melakukan reverse engineering dari database

Visual Studio akan menampilkan dialog Choose Your Data Connection. Saya kemudian mengklik tombol Koneksi Baru…. Dialog Connection Properties akan muncul. Saya kemudian mengklik tombol Ubah. pada Sumber data untuk memilih Database MySQL (Penyedia Data MySQL). Saya kemudian mengisi informasi database seperti yang terlihat pada gambar berikut

Cara menggunakan nuget kerangka entitas mysql

Menambahkan koneksi ke MySQL Server

Setelah mengklik tombol Test Connection untuk memastikan koneksi database sudah bisa dilakukan, saya kemudian mengklik tombol OK. Saya memilih Ya, sertakan data sensitif di string koneksi. Selain itu, di bagian Simpan pengaturan koneksi entitas di Aplikasi. Config as, saya isi dengan TransactionContext. Setelah selesai, saya klik tombol Next

Saya centang semua tabel yang ada, isikan nama namespacenya dan klik tombol Finish untuk selesai, seperti yang terlihat pada gambar berikut

Cara menggunakan nuget kerangka entitas mysql

Pilih tabel yang akan direkayasa balik

Visual Studio 2010 akan menampilkan diagram seperti yang terlihat pada gambar berikut

Cara menggunakan nuget kerangka entitas mysql

Model hasil rekayasa terbalik

Saya melakukan sedikit perubahan nama pada kedua entitas sehingga dimulai dengan huruf kapital. Caranya klik pada entitas dan ubah properti Entity Set Name dan Name pada jendela Properties

Kode program yang dihasilkan (kelas konteks dan entitas) terletak di file yang dapat dilihat di

Cara menggunakan nuget kerangka entitas mysql

Kode program dihasilkan berdasarkan isi database

Setelah ini, saya dapat menggunakan operasi Entity Framework seperti sebelumnya. Misalnya, kode program berikut akan menyimpan objek ke dalam database

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LatihanOOP
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new TransaksiContext())
            {
                Penjualan p1 = new Penjualan()
                {
                    nomor = "FJ001",
                    tanggal = new DateTime(2014, 1, 10),
                    konsumen = "Solid Snake",
                };
                p1.itempenjualan.Add(new ItemPenjualan() { namaBarang = "BRG1", jumlah = 1, harga = 100 });
                p1.itempenjualan.Add(new ItemPenjualan() { namaBarang = "BRG2", jumlah = 5, harga = 20 });

                db.Penjualan.AddObject(p1);
                db.SaveChanges();
            }
        }
    }
}
_

Setelah program diatas dijalankan maka isi tabel pada database akan terlihat seperti gambar berikut