Teoride tüm database’leri desteklemesi için geliştirilen ADO.NET EF’ün aksine Linq2SQL ile yaşadığımız büyük bir kısıtlama var: MS SQLServer bağımlılığı. SQLServer destekli hosting hizmetlerinin pahalılığını, bu kısıtlamadan kurtulmamız için yeterli bir sebep olarak görebiliriz sanırım.
Bu makalemizde ADO.NET EF ile MySQL veritabanı kullanımına kısaca bir göz atacağız.
Örneğimiz için VS 2008 sp1 ve üstü (makalenin hazırlandığı günlerde VS 2010 RC1 sürümü piyasadaydı), MySQL server ve .NET için bir MySql provider gerekiyor.
Makinemize .NET destekli bir MySQL provider kurarak başlayalım. Birincil kaynaktan sunulmuş çözümü tercih edelim ve “MySqlConnector“ümüzü indirip kuralım.
MySql Connector nesnesinin kurulumundan sonra Visual Studio da bir proje oluşturuyoruz. Server Explorer penceresinden yeni bir connection oluşturalım

Veri kaynağımızı MySQL olarak değiştirelim


MySQL veritabanı bağlantı bilgilerimizi girdikten sonra OK diyelim

Yeni bağlantımız hazır. Şimdi bu bağlantı üzerinden map oluşturalım

ADO.NET Entity Data Model nesnemizi projemize ekleyelim

Add butonundan sonra açılan sihirbazda ilerleyerek nesnemizin oluşturulma işlemini sonlandıralım.
Örneğimizin kod tarafında herşey bildiğimiz ADO.NET EF kodları artık.
Design tarafına bir buton bir de gridview eklediğimiz sayfamızın kod kısmı şöyle olacak
denemeEntities db = new denemeEntities();
protected void Page_Load(object sender, EventArgs e)
{
BindData();
}
private void BindData()
{
var ds = from k in db.kisiler select k;
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void btnKaydet_Click(object sender, EventArgs e)
{
string i = GridView1.Rows.Count.ToString();
kisiler kisiListesi = new kisiler();
kisiListesi.KisiAd = "KisiAd_" + i;
kisiListesi.KisiSoyad = "KisiSoyad_" + i;
kisiListesi.Adres = "Adres_";
kisiListesi.DogumTarihi = DateTime.Parse("01.01.1985");
kisiListesi.Telefon = "0000000" + i;
db.AddTokisiler(kisiListesi);
db.SaveChanges();
}
Uygulamamızın çıktı ekranı şöyle :

iyi çalışmalar.


# 7
v.s. 2010 beta2 rc1 sürümlerin ikisindede eklenmedi
@kadir sahin, sorun VS2010′un henüz release olmaması olabilir. mysql connector için henüz VS2010 desteği geliştirilmemiş, anlaşılan release’i bekliyorlar
MRBLAR
mysql connector kurmama rağmen ne yaptımsa change den sonra database sourse kısmına mysql database i getiremedim sorun nedir acaba bu konuda bilgiinz varmı
Visual Studio kapalıyken MySQL Connector’u tekrar kurun sonra VS’yi başlatın. Elinizdeki VS versiyonunun 2008 SP1 olması gerekiyor. ADO.NET SP1 ile birlikte eklendi VS’ya
Merhaba
Add connection kısmında server name, user name veya parolaya bir şey yazmaya çalıştığım anada ekran kapanıyor nedeni ne olabilir?
@mucahid1986, server name, user name ve password alanlarının üçüne de birşey yazdığın anda arkada otomatikman database detect kodu çalışıyor. Tam bu noktada hata oluşmuş olabilir. yani girdiğin bağlantı bilgileriyle varolan database listesi çekilirken “exception” oluşmuş tahminimce. bağlantı bilgilerini yazmaya çalıştığın MySql Server’a erişimini bir şekilde kontrol etmelisin. (Örneğin MySql Front kullanarak)
var ds = from k in db.kisiler select k;
GridView1.DataSource = ds;
GridView1.DataBind();
bu kısımda db.urungirisi olrak değiştrdim ama hata veriyor bide gridviwe de weriyor gridview ekledim ama needen yaa bide bu kod sayesinde veri tabanına yeni kayıt eklenebiliyormu şimdi yardımcı olun lütfen