logo
Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
bilgehanyildiz  
#1 Gönderildi : 26 Şubat 2015 Perşembe 10:17:40(UTC)
bilgehanyildiz

Sıralama: Member

Gruplar: Registered
Katılan: 25.02.2015(UTC)
Mesajlar: 12
Turkey
Konum: İstanbul

2 Mesajına Toplam 2 Kere Teşekkür Edildi.
1-)Entity Framework de,LLBLGEN,NHIBERNATE gibi bir ORM tooludur.Ancak Özelliği Microsoftun kendi orm toolu olduğu için Visual Studio 2008/2010 kurduğunuzda otomatik olarak gelmektedir. İlk Önce Entity Frameworkdede nesneleri oluşturmamız gerekmektedir [img]http://www.dbakademi.com/img/ent1.jpg[/img] 2-)Bize ilk soracağı şey nesneleri databaseden modellemek istediğimiz,yoksa nesneleri kendimizin oluşturup sonradan mı database oluşturacağımıza karar vermemizdir.Empty model ise database vermeden kendimizin nesneleri oluşturması için kullanılır.Ancak daha sonra istersek tersine mühendislik yaparak databasemizi oluşturup connection bağlayabilirizAncak bizim veritabanımız zaten mevcut olduğu için Generate from database seçeneğini seçiyoruz. [img]http://www.dbakademi.com/img/ent2.jpg[/img] 3-)Bir sonraki adımda Connectionımızı belirliyoruz [img]http://www.dbakademi.com/img/ent3.jpg[/img] 4-)Bu adımda modellemek istediğimiz database nesnelerimiz seçiyoruz.Tabi hepsini aynı ayda oluşturmak zorunda değiliz istersek bir kısım tablo ve viewleri oluşturmayabiliriz veya sonradan oluşturabiliriz [img]http://www.dbakademi.com/img/ent4.jpg[/img] 5-)Artık contextimiz oluşmuş durumdadır [img]http://www.dbakademi.com/img/ent5.jpg[/img] 6-)Contextimizi oluşturduktan sonra model browserdan Özelliklerimize bakabiliyoruz [img]http://www.dbakademi.com/img/ent6.jpg[/img] 7-)Peki Veritabanımıza yeni bir tablo eklediğimiz zaman veya alan eklediğimizde bunları contexttimize nasıl yansıtırız.Örnek olarak Kisi Tablomuza yeni bir alan ekleyelim ve Kitap diyede yeni bir tablo ekleyelim. Model Browserdan Model1.edmx in üstüne gelip sağ tuş dediğimizde Update Model From Database diyoruz.Daha sonra açılan ekrandan veritabanımıza yeni eklenen tablo,view vs görüntüyebiliyoruz.Burada yeni eklenen kitap tablosunu seçiyorum.(Zaten mevcutta ekli tablolar üstünde değişiklikleri kendisi görüyor,ayrı birşey seçmeme gerek yok).Bu şekilde finishe bastığımızda artık yeni eklediğim TC kimlik numarası alanı ve yeni tablom benim modelimin içerisine gelmiş oldu [img]http://www.dbakademi.com/img/ent7.jpg[/img] 8-)Lazy Load Kısaca verilerin bağlı oldukları verileride getirmesi işlemidir Modelimiz(Contextimiz) in lazy load özelliğine bakmak istiyorsak isel Model Browserdan Modelimizin Properties tıklayarak Lazy Load Enabled özelliğimizi True veya False alabiliyoruz. Ben aşağıda lazy load açıkken ve kapalı iken Sql Profilerdan Sql giden sorguları trace ettim. Lazy Load Kapalı iken Bu sorgu en temel sorgulardan biridir. [code=csharp] TelefonRehberiEntities tr = new TelefonRehberiEntities(); var kisi = tr.Kisi; dataGridView1.DataSource = kisi; SELECT [Extent1].[KisiID] AS [KisiID], [Extent1].[Ad] AS [Ad], [Extent1].[Soyad] AS [Soyad], [Extent1].[Cinsiyet] AS [Cinsiyet], [Extent1].[Yas] AS [Yas], [Extent1].[TCKimlik] AS [TCKimlik] FROM [dbo].[Kisi] AS [Extent1] //Lazy Load Açık iken SELECT [Extent1].[KisiID] AS [KisiID], [Extent1].[Ad] AS [Ad], [Extent1].[Soyad] AS [Soyad], [Extent1].[Cinsiyet] AS [Cinsiyet], [Extent1].[Yas] AS [Yas], [Extent1].[TCKimlik] AS [TCKimlik] FROM [dbo].[Kisi] AS [Extent1] exec sp_executesql N'SELECT [Extent1].[KisiID] AS [KisiID], [Extent1].[DogumGünü] AS [DogumGünü], [Extent1].[Meslek] AS [Meslek] FROM [dbo].[KisiDetay] AS [Extent1] WHERE [Extent1].[KisiID] = @EntityKeyValue1',N'@EntityKeyValue1 int',@EntityKeyValue1=1 [/code] Lazy load açıkken Görüldüğü gibi kayıtların ilişkili kayıtlarıda görmüş olur


Bu konudaki kullanıcılar
Guest
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.