Modell létrehozása

Az EF-modell tárolja az alkalmazásosztályok és a tulajdonságok adatbázistáblákra és oszlopokra való leképezésének részleteit. Az EF-modell létrehozásának két fő módja van:

  • A Code First használata: A fejlesztő kódot ír a modell megadásához. Az EF futásidőben hozza létre a modelleket és a leképezéseket az entitásosztályok és a fejlesztő által biztosított további modellkonfiguráció alapján.

  • Az EF Designer használata: A fejlesztő dobozokat és sorokat rajzol a modell ef designerrel való megadásához. Az eredményként kapott modell XML-fájlként van tárolva egy EDMX kiterjesztésű fájlban. Az alkalmazás tartományobjektumai általában automatikusan jönnek létre a fogalmi modellből.

EF-munkafolyamatok

Mindkét módszer használható egy meglévő adatbázis megcélzására vagy új adatbázis létrehozására, ami 4 különböző munkafolyamatot eredményez. Megtudhatja, hogy melyik a legjobb az Ön számára:

Csak kódot akarok írni... Tervezőt szeretnék használni...
Új adatbázist hozok létre A Code First használatával definiálhatja a modellt a kódban, majd létrehozhat egy adatbázist. A Model First használatával mezők és sorok használatával definiálhatja a modellt, majd létrehozhat egy adatbázist.
Hozzá kell férnem egy meglévő adatbázishoz A Code First használatával létrehozhat egy kódalapú modellt, amely leképezhet egy meglévő adatbázist. A Database First használatával létrehozhat egy meglévő adatbázishoz leképező mező- és sormodellt.

Tekintse meg a következő videót: Milyen EF-munkafolyamatot érdemes használni?

Ez a rövid videó ismerteti a különbségeket, és azt, hogy hogyan találhatja meg az Önnek megfelelőt.

Készítette: Rowan Miller

Melyik munkafolyamat Thumb WMV | MP4 | WMV (ZIP)

Ha a videó megtekintése után még mindig nem érzi magát kényelmesen eldönteni, hogy az EF Designert vagy a Code First-et szeretné-e használni, tanulja meg mindkettőt!

Egy pillantás a motorháztető alatt

Függetlenül attól, hogy a Code First vagy az EF Designert használja, az EF-modell mindig több összetevőből áll:

  • Az alkalmazás tartományobjektumai vagy entitástípusai maguk. Ezt gyakran nevezik objektumrétegnek

  • A tartományspecifikus entitástípusokból és kapcsolatokból álló elméleti modell, amelyet az Entitásadat-modellel ismertetünk. Ezt a réteget gyakran a "C" betűvel nevezik, fogalmi okokból.

  • Az adatbázisban definiált táblákat, oszlopokat és kapcsolatokat képviselő tárolási modell. Ezt a réteget gyakran nevezik a későbbi "S"-nek a tároláshoz.

  • Leképezés a fogalmi modell és az adatbázisséma között. Ezt a leképezést gyakran "C-S" leképezésnek is nevezik.

Az EF leképezési motorja a "C-S" leképezést használja az entitások műveleteinek – például létrehozás, olvasás, frissítés és törlés – átalakításához az adatbázis tábláinak megfelelő műveleteivé.

A fogalmi modell és az alkalmazás objektumai közötti leképezést gyakran "O-C" leképezésnek nevezik. A "C-S" leképezéshez képest az "O-C" leképezés implicit és egy-az-egyhez: a fogalmi modellben definiált entitások, tulajdonságok és kapcsolatok szükségesek a .NET-objektumok alakzatainak és típusainak egyeztetéséhez. Az EF4-től kezdve az objektumréteg olyan egyszerű objektumokból állhat, amelyek tulajdonságai nem függnek az EF-től. Ezeket általában Plain-Old CLR-objektumoknak (POCO) nevezzük, és a típusok és tulajdonságok leképezése a névegyeztetési konvenciók alapján történik. Korábban az EF 3.5-ben konkrét korlátozások vonatkoztak az objektumrétegre, például az EntityObject osztályból származó entitásokra, és EF-attribútumokat kellett hordozniuk az "O-C" leképezés implementálásához.