Entity Framework Nədir? Necə istifadə olunur?

1.    Entity Framework Nədir?

 

Entity Framwork (EF) Microsoft tərəfindən hazırlanan və proqramçıların mürəkkəb sorğular yazmasını ortadan qaldıran bir ORM(Object Relational Mapping) imkanı yaradan framework-dur. ORM əlaqəli verilənlər bazasına birbaşa müdaxilə yerinə obyektlər vasitəsi ilə müdəxilə edilməsinə təmin edən körpü kimi başa düşmək olar.

Entity Framwork ilə birlikdə LINQ (Language Integrated Query) sorğular istifadə etməklə obyektlər üzərindən sorğulama etmək mümkündür. EF bizə bir yaratdığı avantajlardan biridə baza ilə olan əmliyyatları öz daxilində aparmasıdır. Məsələn, adi halqda biz proqram tərtib edərək SQL sorğularının yazılması, əlaqənin açılıb bağlanması və.s kimi əməliyyatlar bizim tərəfimzədn həyata keçirilirdi. EF ilə isə biz bu əməliyyatları Obyektlər üzərində yerinə yetirməklə daha çox vaxt qazancaq və təmiz kod yazmaq vərdişinə sahib olacağıq. EF bizə yaratdığı imkanlaradan biridə EF-də qurulan baza strukturunun bir çox VB tətbiq etmək imkanın olmasındadır Məsələn: SQL Server, Oracle, Access və.s.

 

2.    Entity Framework Necə İstifadə olunur?

 

İndi isə EF-i sizə tərtib edəcəyimiz proqram üzərində göstərmək istəyirəm. Bu məqaləmdə sizə EF ilə baza arasında əlaqənin qurulması və proyektə əlavə olunmasını görəcəyik.

Bunun üçün Visual Studio 2010/2012/2013 və Verilənlər bazası olaraq MS SQL Server istifadə edə bilərsiniz.(İstəsəniz siz başqa VB istifadə edə bilərsiniz)

İlk öncə bir proyekt yaradaq. Bunun üçün File-> New->Project (Şəkil 1).

1

Şəkil. 1

         Buradan siz bir çox növ proyekt yarada bilərsiniz Windows Form Application, Console Application, Class Library və.s. Mən məaqləmdə EF-i Windows Form Application üzərində göstərəcəm. Bunun üçün sağ paneldən Windows sol paneldən isə Windows Form Application seçərək Name bölməsinə proyektin adını daxil edirsiniz və Ok düyməsini sıxırsınız. (Şəkil 2)

2

Şəkil. 2

         Yuxarıda göstərilən əməliyyatları yerinə yetirdikdən sonra Solution Explorer bölməsində proyektin yarandığını görəcəksiniz. (Şəkil 3)

3

Şəkil. 3

         İndi isə proyektimizə EF əlavə edək. Bunun üçün proyektimizin üzərində sağ düymənı sıxaraq. Add->New Item seçirik. (Şəkil. 4)

4

Şəkil. 4

         Açılan pəncərdə sol paneldə Data və sağ paneldə ADO.NET Entity Data Model seçirik. Ad (Name) bölməsinə EF adını (Məs: EFModel) daxil edirik və Add düyməsini sıxırıq. (Şəkil. 5)

         5

Şəkil. 5

Bu mərhələdə bizdən EF-in bazadan yaradılmasını (Generate from database) və ya Boş model yaradılması (Empty model) seçimi verilir. Biz buradan Generate form database seçərək İrəli (Next) düyməsini sıxırıq. (Şəkil.6)

6

Şəkil. 6

Bu bölmədə müvəqqəti olaraq işimi Visual Studio ilə işimi saxlayaraq SQL Server üzərində bir baza yaradaq və yuxarıda gördüyümüz pəncərdən həmin bazaya qoşulaq.

Bunun üçün SQL Serverə daxil olaq. (Məqalədə əsas məqsəd EF öyrədilməsi olduğu üçün bu hissəni qısa formada göstərəcəm). Database üzərində sağ düyməni sıxaraq New Database seçirik. Database name bölməsinə bazamızın adını daxil edirik və Ok düyməsini sıxırıq. (Şəkil. 7)

8

Şəkil. 7

Baza üzərində (EF yaratdığımız) sağ düyməni sıxaraq New Query açıb aşağıdakı sorğunu icra edirik. Bununlada hələlik SQL Serverdə işimizi yekunlaşdırırq. (Şəkil. 8)


CREATE TABLE [dbo].[Blogs] (
 [BlogId] INT IDENTITY (1, 1) NOT NULL,
 [Name] NVARCHAR (200) NULL,
 [Url] NVARCHAR (200) NULL,
 CONSTRAINT [PK_dbo.Blogs] PRIMARY KEY CLUSTERED ([BlogId] ASC)
);

CREATE TABLE [dbo].[Posts] (
 [PostId] INT IDENTITY (1, 1) NOT NULL,
 [Title] NVARCHAR (200) NULL,
 [Content] NTEXT NULL,
 [BlogId] INT NOT NULL,
 CONSTRAINT [PK_dbo.Posts] PRIMARY KEY CLUSTERED ([PostId] ASC),
 CONSTRAINT [FK_dbo.Posts_dbo.Blogs_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [dbo].[Blogs] ([BlogId]) ON DELETE CASCADE );


9

Şəkil. 8

 

Növbəti pəncərədə bizdən baza ilə əlaqə qurulmasını istəyir. Sizin əgər əvvəlcədən hazır olan əlaqə varsa siyahıdan seçə bilərsiniz əgər yoxdursa New Connection seçərək davam edirik. (Hal hazırda məndə yoxdur) (Şəkil. 9)

10

Şəkil. 9

Qarşımıza çıxan pəncərdə baza ilə əlaqə qurmaq üçün bəzi məlumatları doldurmaq lazımdır.

Server name : Serverin adını və ya İP ünvanını daxil edirik.

Log on to the server: Bu bölmədən autentifikasiya növünü seçirik.

Use Windows Authentication: Windows istifadəçi adı ilə autentifikasiya olunacaq. Məs: PC\User.

Use SQL Server Authentication: SQL Server in istifadəçi adı ilə autentifikasiya olunacaq. Bunun üçün SQL Serverdə istifadəçi adı və şifrə yaratmaq lazımdır.

Select or enter database name bölməsindən Bazanın adı seçərək Ok düyməsni sıxırıq. Əlaqənin düzgün qurulmasını yoxlamaq üçün Test Connection-dan istifadə edə bilərsiniz əgər düzgündürsə Test Connection Succeeded yazısını görəcəksiniz. (Şəkil.10)

11

Şəkil. 10

Burada Entity Connectiona bir ad veririk. Proyektimizdə bu adla EF-dən istifdə edəcəyik (Məs: EFEntities). Entity Connection String bölməsinə bazaya qoşulma yolunu görürsünüz. Save entity connection setting in App.config bunu işarələyərək sazlamaları App.config faylında saxlayırıq və İrəli (Next) düyməsini sıxırıq. (Şəkil.11)

12

Şəkil. 11

Biz indi SQL Servərdə yaratdığımız cədvəlləri görürük. Bu iki cədvəli işarələyirk. EF-də Cədvəllər bir obyekt, sahələr bir atribut, procedurlar isə metodlardır.

Pluralize or singularize generated object names: Cədvəllərin əlaqə durumuna görə tək və ya cəm olduğunu yazır. Bunu ingilis dilinə görə edir tək və ya cəm (‘s).

Include foreign key columns in the model: Cədvəllər arasında olan əlaqəni modelə əlavə olunsun.

Model Namespace: Modelimizə bir ad veririk.

Yuxarıda yazılanları yerinə yetirdikdən sonra Finish düyməsini sıxırıq. (Şəkil. 12)

13

Şəkil. 12

 

Gördüyünüz kimi bazamızda olan Blog və Post cədvəllərinin proyektimizə əlavə olundu. (Şəkil. 13)

14

Şəkil. 13

Düşünək ki, biz bazada yeni bir cədvəl yaratdıq və istəyirik ki, həmin cədvəl bizim modelə əlavə edək.Bunun üçün, məsələn EF bazmızda bir Users adında cədvəl yaradaq.(bunun üçün aşağıdakı sorğudan istifadə edə bilərsiniz) 

CREATE TABLE [dbo].[Users]
(
[Username] NVARCHAR(50) NOT NULL PRIMARY KEY,
[DisplayName] NVARCHAR(MAX) NULL
)

 

İndi isə həmin cədvəli modelimizə əlavə etməyə baxaq. Bunun üçün Model Browser pəncərəsində EFModel.edmx üzərində sağ düyməni sıxaraq Update Model from Database seçirik. (Şəkil. 14)

15

Şəkil. 14

 

Yeni cədvəli modelə əlavə etmək üçün açılan pəncərdə Add bölməsi altında Tables->dbo->Users işarələyərək Finish düyməsini sıxırıq.(Şəkil. 15)

 

16

Şəkil. 15

 

Modelimizə baxdığımız zaman Users cədvəlinin modelə əlavə olunduğunu görmüş olacaqsınız.(Şəkil. 16)

 

17

Şəkil. 16

Bu əməliyyatdan sonra məqaləmizin sonuna gəldik. Bundan sonrakı məqalədə EF ilə bazaya məlumatın əlavə edilməsi, seçilməsi, silinməsi və s. kimi bir çox əməliyyatların yerinə yetirilməsi ilə tanış olacağıq.

 

İnanıram ki bu məqaləm kimlər üçünsə faydalı olacaq.

 

Hörmətlə,

 

Elvin Yusifli 

Səs: +30. Bəyənilsin Zəifdir

Müəllif: Elvin Yusifli

Şərhlər ( 2 )

  1. Təşəkkür edirəm Elvin bəy. Məqalənizin davamını gözləyirik

  2. Ətrafı izah üçün təşəkkürlər Elvin bəy.

Şərh yazın