Prima aplicație

Crearea unui nou proiect de tip Console Application.

Prima aplicație

Acum, primul lucru pentru a adăuga o nouă clasă, care va descrie datele. Lăsați aplicația noastră se va concentra pe lucrul cu utilizatorii. Deci, se adaugă la proiect o nouă clasă de utilizator:







Aceasta este o clasă normală, care conține un număr de autoprops. Fiecare proprietate va fi compensată cu o coloană separată în tabelul din baza de date.

Trebuie remarcat faptul că atunci când se utilizează cadru Entitate Cod primul element necesită determinarea o cheie pentru a genera o cheie primară în tabelul din baza de date. Implicit, când generația EF bd ca chei primare vor lua în considerare proprietățile numite sau [class_name] Id Id (adică IdUtilizator). Dacă vrem să numească o altă proprietate cheie, atunci vom avea nevoie pentru a adăuga logica suplimentare pentru c #.

Acum, pentru a interacționa cu baza de date avem nevoie de un context de date. Este un fel de intermediar între baza de date și clasele care descriu datele. Dar, în mod implicit nu am adăugat încă în bibliotecă pentru EF. Pentru a adauga, click pe proiect, faceți clic dreapta și selectați din meniul contextual Gestionare pachete NuGet.

Prima aplicație

Apoi, în caseta de control NuGet-pachet în caseta de căutare, tastați cuvântul „Entitate“ și să aleagă pachetul în sine, Entity Framework și instalați-l:

Prima aplicație

După instalarea pachetului se va adăuga la proiect o nouă clasă UserContext:

Bazat pe cadru Entitate funcțională alcătuiesc clase care sunt în numele spațiu System.Data.Entity. Printre întregul set de clase, în acest spațiu de nume ar trebui să fie următoarele:

DbContext. definește datele contextuale, care este utilizat pentru a interacționa cu baza de date.

DbModelBuilder. compară clasele în C # cu entitățile din baza de date.

DbSet / DbSet. este un set de entități stocate în baza de date

În orice aplicație care funcționează cu baza de date prin intermediul Entity Framework, trebuie să fie de un context (clasa derivată din DbContext) și set de date DbSet, prin care vom putea interacționa cu tabelul DB. În acest caz, o astfel de clasă UserContext context.







În constructorul clasei apelează constructorul clasei de baza, care necesită un șir de caractere „DbConnection“ - este numele viitorului la șirul de conexiune de baze de date. În principiu, nu putem folosi proiectantul, apoi, în acest caz, șirul de conectare ar purta cea mai mare parte numele clasei context de date.

Și, de asemenea, în clasa definită de un singur utilizatori de proprietate, care va stoca setul de obiecte utilizator. În contextul de clasă, un set de obiecte de date reprezintă clasa DbSet. Prin această proprietate va fi utilizat pentru comunicarea cu tabelele obiect de utilizator în baza de date.

Și acum trebuie să stabilească o conexiune la baza de date. Pentru a stabili un fișier de configurare aplicație de conectare utilizate în mod obișnuit. În proiectele de fișier de configurare aplicație desktop numit App.config (ca în cazul nostru), în Web Application Project - Web.config. În cazul nostru fișier App.config. După adăugarea cadru Entitate se pare ca următoarele:

După eticheta de închidere se adaugă elementul următor:

Toate conexiunile la surse de date sunt setate la secțiunea connectionStrings. și fiecare este un element de conectare separat add. În clasa constructor UserContext context, vom trece ca numele șirului de conexiune „DbConnection“, de ce acest nume este specificat în numele atributului = „DBConnection“.

Conexiune linie de setare connectionString atribut seturi. În acest caz, ne-am stabilit numele bazei de date, care va interacționa - userstore.mdf.

Deoarece UserContext clasă prin clasa părinte DbContext implementeaza interfata IDisposable. ceva pentru a lucra cu UserContext cu închidere automată a obiectului putem folosi folosind designul.

Proiectele sunt create cu ajutorul a două obiect de utilizator și a adăugat la baza de date. Pentru a le salva, este suficient să se folosească metoda Add. db.Users.Add (user1)

Pentru a obține o listă de date din baza de date, este suficient pentru a utiliza contextul Utilizatorii de proprietate date: db.Users

Ca urmare, după pornirea programul afișează pe consolă:

Astfel, Entity Framework oferă un control simplu și convenabil obiectelor din baza de date. Cu faptul că, în acest caz, nu avem nevoie chiar de a crea o bază de date și să definească tabele în ea. Entity Framework face pentru noi, pe baza definiției clasei context de date și clase de modele. Și dacă există deja în baza de date, FE nu va crea din nou.

Sarcina noastră - numai pentru a determina modelul care vor fi stocate în baza de date, precum și contextul clasei. Prin urmare, această abordare se numește primul cod - codul scris mai întâi, și apoi pe ea creează baza de date și tabelele sale.

Se pune întrebarea: în cazul în care este baza de date? Pentru a vedea fizic baza de date, ne putem conecta la acesta din cadrul Visual Studio prin fereastra Database Explorer, sau printr-un instrument dedicat de management SQL Server Management Studio:

Prima aplicație

Prima aplicație

În Adăugați o conexiune, specificați serverul și numele bazei de date.

Fizic, baza de date va fi localizat în directorul SQL Servera, în special, am plasat în directorul C: \ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATE. Numai acesta va fi chemat pe nume pentru a conecta - DbConnection.mdf.