Tampilkan postingan dengan label Entity Framework. Tampilkan semua postingan
Tampilkan postingan dengan label Entity Framework. Tampilkan semua postingan

Senin, 10 Maret 2014

EF Code First Create Database




Halo, berjumpa lagi dengan saya, kali ini saya akan menulis tentang menggunakan Entity Framework Code First untuk meneruskan tulisan kenalan dengan Entity Framework, tidak akan terlalu ribet hanya koneksi ke-database saja dan membuat database + table menggunakan code first. Pada tulisan kita kali ini kita akan membuat sebuah console application agar simple.

Kita create new project di visual studio. pilih console application 

Setelah create new project kita add entity framework nuGet 

Kemudian kita tambahkan sebuah class baru, beri nama People.cs. kelas ini akan menjadi table dari database yang akan kita buat nanti.


kita tambahkan attribut [Key] pada property Id sebagai penanda bahwa property tersebut adalah sebuah primary key. 

Setelah itu kita akan buat sebuah class Context. Class context ini berfungsi sebagai penghubung ke database untuk lebih jelasnya bisa baca disini


dalam class PeopleContext code public DbSet Peoples { get; set; } berfungsi agar ketika program dijalankan maka EF akan memetakan (mapping) class People menjadi table didalam database.

EF akan dijalankan ketika program berjalan, untuk itu kita akan menambahkan beberapa baris code pada class Program, buat seperti ini


Database.SetInitializer(new DropCreateDatabaseIfModelChanges());  berfungsi membuat inisialisasi database. dan DropCreateDatabaseIfModelChanges() akan men-drop database ketika ada perubahan pada model. 

Database  hanya akan dibuat ketika class context dipanggil/dipakai. Oleh karena itu kita tambahkan code  using (var db = new PeopleContext())
            {
                db.Database.Initialize(false);
            }

 db.Database.Initialize(false) berarti bahwa kita akan men-skip proses insialisasi apabila proses tersebut telah terjadi. apabila kita ubah nilai false menjadi true, maka proses inisialisasi akan terjadi meskipun proses tersebut telah terjadi sumber. Sebenarnya ada cara lain menggunakan Package Manager Console, tapi karena saya tidak mengerti terlalu tahu jadi saya gunakan metode seperti ini

Proses yang terakhir adalah menambahkan connection string pada file App.config. Tambahkan code dibawah pada App.config


Kemudian kita build dan jalankan program. 

Apakah berhasil? bagaimana melihat table yang telah kita buat. Untuk melihat table yang telah kita buat, pada server explorer kita pilih connect to database, kemudian kita isikan server dan database yang telah kita buat 

Hasil database yang telah kita buat akan muncul. lalala yeyeye.



Mungkin cukup sekian tulisan singkat kali ini, terima kasih sudah datang


Kamis, 26 Desember 2013

Kenalan Dengan Entity Framework


Libur-libur gini daripada bengong mending kita nulis blog lagi. Tulisan kali ini akan membahas tentang Entity Framework. Apa itu Entity Framework (EF)? EF adalah sebuah object-relational mapper yang memungkinkan .Net Developer untuk bekerja dengan relational data (database) menggunakan domain-specific object. (sumber). Penggunaan EF bertujuan mengurangi penggunaan data-access code yang biasa ditulis developer. 

 Sebelum melangkah jauh kita akan membahas tentang database terlebih dahulu. Sebuah model database adalah sebuah abstraksi dari real-world information yang akan ditampilkan. Seorang developer harus membuat sebuah second level dari abstraksi tersebut dikarenakan sebuah aplikasi tidak dapat melihat data tersebut seperti yang database lihat. Terkadang mendefinisikan second-level ini terkadang lebih sulit dari pada membuat database membutuhkan sebuah gambaran dari real-world, EF membantu developer untuk membuat gambaran tersebut. EF menggunakan graphical presentation dari data sehingga developer dapat melihat relationship antar table.

EF merupakan sebuah  Microsoft ActiveX Data Object .Net (ADO.NET) technology extension yang membuat memungkinkan kita untuk meng-Integrasikan database yang kita buat dengan IDE untuk membuat beberapa code yang dibuthkan dalam koneksi antara aplikasi dan database secara otomatis. Jadi ga percuma punya IDE yang harganya sampai puluhan ribu USD (pantesan aja banyak yang bajak) .

 Langsung saja kita buat aplikasi EF menggunakan visual studio 2012. kita create new project pilih windows Form Application berinama SimpleEF


pilih View|Other Windows|Data Source. kemudian pilih Add New Data Source. maka akan muncul dialog box seperti dibawah ini


Pilih Database, lalu next, muncul dialog box selanjutnya, pilih Entity Data Model. lalu next


Pada dialog box selanjutnya pilih empty model, kemudian finish



lalu akan muncul sebuah window kosong bernama  Model1.edmx seperti dibawah ini, pada solution explorer juga akan terdapat item Model1.edmx. pada windows inilah kita akan membuat entity-entity yang akan digunakan.




Setelah muncul windows model1.edmx kita akan menambahkan entity. klik toolbox entitiy seperti gambar dibawah ini.
Drag and drop entity pada windows model1.edmx

\
Maka akan muncul sebuah diagram class seperti gambar diatas. kita rename entitas tersebut dari entity mencadi Customer, dan properti Id menjadi CustomerID


Untuk menambahkan property baru pada entity, klik kanan pada entity|Add new|Scalar Property
tambahkan hingga menjadi seperti ini


Property-property yang kita buat akan memilki tipe string sebagai default, untuk merubahnya tinggal klik kanan pada property yang akan diubah, pilih properties (Alt+Enter). Akan muncul window seperti dibawah. untuk merubah tipe data, kita pipih pada kolom Type menjadi tipe data yang kita inginkan. 


Setelah membuat diagram ini apakah kita sudah bisa menjalankan aplikasi? belum, bahkan databasenya belum kita buat. untuk membuatnya kita klik kanan pada window diagram, pilih Generate Database From Model. pilih New Connection


Karena kita menggunakan SQLExpress pada visual studio 2012, kita isikan seperti pada gambar dibawah. server kita gunakan (localdb)\v.11.0, Gunakan Windows Authentification untuk log on, dan Tulis TestCustomer pada database name. lalu oke.


Setelah pilih Oke. maka visual studio akan meminta permission untuk membuat database karena database tersebut belum pernah dibuat/ belum exist, pilih oke. akan muncul windows berisi script DDL untuk membuat database dan table customer pada database. kita pilih finish. 



Akan muncul dialog box untuk koneksi ke database, setelah oke maka mucul windows Model1.edmx.sql yang berisi perintah2 sql. kita klik segitiga hijau pada windows tersebut. maka secara otomatis kita akan mengeksekusi perintah-perintah sql tersebut melalui visual studio.




Setelah selesai maka akan terbentuk database TestCustomer dan table Customers seperti gambar dibawah ini.



Sekarang tinggal bagaimana cara kita menjalankan aplikasi. kita buat form 1 agar menjadi seperti ini


Beri nama masing-masing button, btnCount,btnAdd,btnDelete,dan btnQuit

kita definisikan Model1Container1 (di aplikasi anda mungkin Model1Container) sebagai tempat menyimpan informasi dari database

public partial class Form1 : Form
    {
        private Model1Container1 ThisContainer;
        public Form1()
        {
            InitializeComponent();

            //intantiate the container
            ThisContainer = new Model1Container1();
        }
Double klik pada button Count. tuliskan code berikut

 private void buttonCount_Click(object sender, EventArgs e)
        {
            //display the number of database records
            MessageBox.Show("There are " + ThisContainer.Customers.Count().ToString() + " record");
        }
Double klik pada button Delete. tuliskan code berikut
  private void buttonDelete_Click(object sender, EventArgs e)
        {
            //obtain the first record
            Customer thisCustomer = null;
            if (ThisContainer.Customers.Any())
            {
                thisCustomer = ThisContainer.Customers.First();
            }
            else
            {
                //display error message if there are no records to delete
                MessageBox.Show("No records to delete");
                return;
            }

            //delete it
            ThisContainer.Customers.Remove(thisCustomer);
            ThisContainer.SaveChanges();

            // Inform the user. 
            MessageBox.Show("Deleted " + thisCustomer.CustomerID.ToString());
        }
Double klik pada button Add. tuliskan code berikut
  private void buttonAdd_Click(object sender, EventArgs e)
        {
            //create a new record
            Customer thisCustomer = ThisContainer.Customers.Create();

            // Add some random data. 
            Random ThisValue = new Random(DateTime.Now.Millisecond);
            thisCustomer.FirstName = ThisValue.Next().ToString();
            thisCustomer.LastName = ThisValue.Next().ToString();
            thisCustomer.AddressLine = ThisValue.Next().ToString();
            thisCustomer.City = ThisValue.Next().ToString();

            // Add a new record.  
            ThisContainer.Customers.Add(thisCustomer);
            ThisContainer.SaveChanges();

            // Inform the user. 
            MessageBox.Show("Added " + thisCustomer.CustomerID.ToString());
        }

Double klik pada button Add. tuliskan code berikut
   private void buttonQuit_Click(object sender, EventArgs e)
        {
            // Save the database. 
            ThisContainer.SaveChanges();

            // End the program. 
            Close();
        }
Setelah selesai tekan F5 pada IDE, maka aplikasi yang kita buat akan berjalan kemudian coba klik Add, maka kita akan memasukan data pada table Custumer seperti yang telah kita tuliskan pada event di btnAdd Data yang kita tuliskan akan masuk pada table Customer seperti gambar dibawah.



Mungkin cukup sekian tulisan kali ini, semoga bermanfaat dan cobalah explorer lagi. Terima kasih