• 23/10/2016
  • 3 minute de citit
    • A

    • b

    • s

    • r

    • p

In acest articol

Aceasta prezentare generala arata cum sa mapezi mai multe tipuri de entitati la un singur tabel modificand un model cu Entity Framework Designer (EF Designer).

Unul dintre motivele pentru care doriti sa utilizati impartirea tabelului este intarzierea incarcarii unor proprietati atunci cand utilizati incarcarea lenesa pentru a va incarca obiectele. Puteti separa proprietatile care pot contine o cantitate foarte mare de date intr-o entitate separata si le puteti incarca numai atunci cand este necesar.

Urmatoarea imagine prezinta ferestrele principale care sunt utilizate atunci cand lucrati cu EF Designer.

Conditii prealabile

Pentru a finaliza aceasta prezentare, veti avea nevoie de:

  • O versiune recenta a Visual Studio.
  • Baza de date a scolii.

Configurati proiectul

Aceasta prezentare generala utilizeaza Visual Studio 2012.

  • Deschideti Visual Studio 2012.
  • In meniul Fisier , indicati spre Nou , apoi faceti clic pe Proiect .
  • In panoul din stanga, faceti clic pe Visual C #, apoi selectati sablonul Aplicatie consola.
  • Introduceti TableSplittingSample ca numele proiectului si faceti clic pe OK .

Creati un model bazat pe baza de date a scolii

  • Faceti clic dreapta pe numele proiectului in Solution Explorer, indicati spre Adaugare , apoi faceti clic pe Element nou .
  • Selectati Date din meniul din stanga si apoi selectati ADO.NET Entity Data Model in panoul Sabloane.
  • Introduceti TableSplittingModel.edmx pentru numele fisierului, apoi faceti clic pe Adaugare .
  • In caseta de dialog Alegeti continutul modelului, selectati  Generati din baza de date , apoi faceti clic pe  Urmatorul.
  • Faceti clic pe Conexiune noua. In caseta de dialog Proprietati conexiune, introduceti numele serverului (de exemplu, (localdb) \ mssqllocaldb ), selectati metoda de autentificare, tastati  Scoala  pentru numele bazei de date, apoi faceti clic pe  OK . Caseta de dialog Alegeti conexiunea de date este actualizata cu setarea conexiunii la baza de date.
  • In caseta de dialog Alegeti obiectele bazei de date, desfasurati  nodul Tabelele si verificati tabelul Persoana . Aceasta va adauga tabelul specificat la modelul Scolii .
  • Faceti clic pe  Finalizare .

Este afisat Entity Designer, care ofera o suprafata de proiectare pentru editarea modelului. Toate obiectele pe care le-ati selectat in   caseta de dialog Alegeti obiectele bazei de date sunt adaugate la model.

Asociati doua entitati la un singur tabel

In aceasta sectiune veti imparti entitatea Persoana in doua entitati si apoi le mapati intr-un singur tabel.

Nota

Persoana Entitatea nu contine niciun fel de proprietati care pot contine cantitati mari de date; este doar folosit ca exemplu.

  • Faceti clic dreapta pe o zona goala a suprafetei de proiectare, indicati spre  Adaugare noua si faceti clic pe  EntitateNoua entitate  apare caseta de dialog.
  • Tastati  HireInfo  pentru  numele entitatii si PersonID pentru numele proprietatii cheie .
  • Faceti clic pe  OK .
  • Un nou tip de entitate este creat si afisat pe suprafata de proiectare.
  • Selectati  HireDate  proprietatea  persoanei  tip de entitate si apasati Ctrl + X taste.
  • Selectati HireInfo  entitatii si apasati Ctrl + V taste.
  • Creati o asociere intre Person si HireInfo . Pentru aceasta, faceti clic dreapta pe o zona goala a suprafetei de proiectare, indicati spre  Adaugare noua si faceti clic pe  Asociere .
  • Add Association  apare caseta de dialog. PersonHireInfo Numele este dat in mod implicit.
  • Specificati multiplicitatea 1 (Unu) la ambele capete ale relatiei.
  • Apasati OK .

Urmatorul pas necesita   fereastra Mapping Details . Daca nu puteti vedea aceasta fereastra, faceti clic dreapta pe suprafata de proiectare si selectati Mapping Details .

  • Selectati   tipul de entitate HireInfo si faceti clic pe  <Adaugati un tabel sau vizualizare>  in   fereastra Detalii mapare .

  • Selectati Persoana din lista verticala <Adaugare tabel sau vizualizare>  . Lista contine tabele sau vizualizari la care entitatea selectata poate fi mapata. Proprietatile corespunzatoare ar trebui mapate in mod implicit.

  • Selectati asocierea PersonHireInfo pe suprafata de proiectare.

  • Faceti clic dreapta pe asociere pe suprafata de proiectare si selectati Proprietati .

  • In fereastra Proprietati , selectati proprietatea Restrictii referentiale si faceti clic pe butonul elipselor.

  • Selectati Persoana din lista derulanta Principal .

  • Apasati OK .

Folositi modelul

  • Lipiti urmatorul cod in metoda Main.

using (var context = new SchoolEntities ()) {Person person = new Person () {FirstName = “Kimberly”, LastName = “Morgan”, Discriminator = “Instructor”,}; person.HireInfo = new HireInfo () {HireDate = DateTime.Now}; // Adaugati noua persoana in context. context.Oameni.Adaugati (persoana); // Introduceti un rand in tabelul Persoana. context.SaveChanges (); // Executati o interogare impotriva tabelului Persoana. // Interogarea returneaza coloanele care mapeaza entitatea Persoana. var ExistentPerson = context.People.FirstOrDefault (); // Executati o interogare impotriva tabelului Persoana. // Interogarea returneaza coloanele care mapeaza entitatea Instructor. var hireInfo = existingPerson.HireInfo; Console.WriteLine („{0} a fost angajat pe {1}”, existingPerson.LastName, hireInfo.HireDate); }

  • Compilati si rulati aplicatia.

Urmatoarele instructiuni T-SQL au fost executate impotriva bazei de date Scoala ca urmare a executarii acestei aplicatii. 

  • Urmatorul INSERT a fost executat ca urmare a executarii contextului.SaveChanges () si combina datele de la entitatile Person si HireInfo

  • Urmatorul SELECT a fost executat ca urmare a executarii context.People.FirstOrDefault () si selecteaza doar coloanele mapate la Persoana

  • Urmatorul SELECT a fost executat ca urmare a accesarii proprietatii de navigare existingPerson.Instructor si selecteaza doar coloanele mapate la HireInfo

pompini addio al celibato provino malena
max felicitas e priscilla provino porn
malena rocco sex provino valentina nappi
italian free porn movies pubblic anal
rocco hd public anal
cento per cento videos public anal porn
pornostar pugliese puglia porn
video porno.malena pugliese porno
malena lo prende in culo pure porn
centoxcento tettona pussy italy
video valeria curtis puttana eva
max felicita puttana xxx
porno della 100×100 puttane giovani
rocco siffredi milena mastromarino puttane giovanissime
faketaxi italia puttane romane
rebecca volpetti videos puttane xxx
rocco siffredi nappi quanti cazzi
tutti dentro malena quanto basta streaming openload
centopercento in stream quella sporca dozzina film completo in italiano gratis
malena xxxx ragazze nel culo rotte