Veritabani tablolarinizi veritabani üzerinde olusturabileceginiz gibi .Net üzerinden de olusturabilirsiniz. Çesitli senaryolarda bu çözüme ihtiyaciniz olabilir. Benim senaryomda web servis ile bir baglanti gerçeklestirdik. Web servis üzerinde baglantiya geçtigimiz proje üzerinde veritabani tablolalarina erisim imkanimiz vardi. Bu durumda bu tablolari tekrar olusturmamiza gerek yok. Asagida anlattigim sekilde kolayca tablolarinizi olusturabilirsiniz. 

Öncelikle bos bir console projesi olusturun ardindan Data isimli bir klasör olusturunuz. Bu klasör içerisine bir class ekleyiniz. Ben örnek olmasi için dosya diye bir class ekledim. Class yapisi asagidadir.

   public class DOSYA

    {

 

      public string Olusturma_Tarihi

        {

            get;

            set;

        }

 

 

       [Key]

        public long Dosya_Id

        {

            get;

            set;

        }

 

      public TARAFLAR[] Taraf

        {

            get;

            set;

        }

    }


Bu olusturulacak Dosya isimli vertiabani tablomuz ve bu tablomuzun iki tane kolonu bulunmakta. Ayrica Taraf diye tabloylada entegre. Simdi bir tanede Taraf adinda bir class olusturalim.

    public class TARAF

    {

 

        public string Ad

        {

            get;

            set;

        }

        }


Veritabanimizla baglanti kurabilmek için Nuget üzerinden
EntityFramework 6.1.3 
Oracle.ManagedDataAccess 12.2.1100
Oracle.ManagedDataAccess.EntityFramework 12.2.1100
yüklenmesi gerekmektedir. 

Yüklemeleri yaptiktan sonra Data Klasörümüze sag tiklayip Add -> New Item seçiyoruz. Data >> Ado.NET Entity Data Model seçiyoruz. Böyle bir ekran karsimiza çikiyor.

Empty Code First Modeli seçip Finish'e basiyoruz. Model1.cs dosyamizi asagidaki gibi düzenliyoruz. 

namespace ………..Data

{

    using System;

    using System.Data.Entity;

    using System.Linq;

 

    public class Model1 : DbContext

    {

        public Model1()

            : base("name=Model1")

        {

        }

 

        protected override void OnModelCreating(DbModelBuilder modelBuilder)

        {

            base.OnModelCreating(modelBuilder);

            modelBuilder.HasDefaultSchema("ORACLE ÜZERINDEKI SEMA ADINIZ");

        }

 

        public DbSet<DOSYA> DOSYASet { get; set; }

        public DbSet<TARAF> TARAFSet { get; set; }

 

    }

 

}

Burada veritabanimizda olusturulacak olan tablolarimizi belirttik. Ayrica Model1 isminde App.Config içerisine veritabani baglanti adresi eklendi. App.Config içindeki connectionString alanini asagidaki sekilde doldurmak gerekiyor.

<connectionStrings>   

     <add name="Model1" providerName="Oracle.ManagedDataAccess.Client" connectionString="User Id=;Password=;Data Source="/>

 </connectionStrings>

Artik hersey hazir. Veritabanimiza bu degisikliklerin uygulanmasi için;

1-) Projemizi build ediyoruz.
2-) Nuget console bölümünü açiyoruz
3-) enable-migrations -force   komutunu çalistiriyoruz.
4-) Add-Migrations  komutunu çalistiriyoruz.
5-) update-database komutunu çalistiriyoruz.
6-) update-database komutunu tekrar çalistiriyoruz.

Tablolarimiz veritabanimizda olusuyor.