Προγραμματισμός

Εξερευνήστε τις διαφορετικές προσεγγίσεις μοντέλων οντοτήτων στο Entity Framework

Το Entity Framework απλοποιεί την πρόσβαση δεδομένων στην εφαρμογή σας, δίνοντάς σας τη δυνατότητα να γράφετε κώδικα για να εκτελείτε τις λειτουργίες CRUD (Δημιουργία, Ανάγνωση, Ενημέρωση και Διαγραφή) χωρίς την ανάγκη άμεσης αλληλεπίδρασης με τον υποκείμενο παροχέα βάσης δεδομένων. Υπάρχουν τρεις προσεγγίσεις για τη μοντελοποίηση των οντοτήτων σας στο Entity Framework: Code First, Model First και Database First. Αυτό το άρθρο ασχολείται με αυτές τις τρεις προσεγγίσεις και τα υπέρ και τα κατά τους.

Τι είναι το πλαίσιο οντοτήτων; Γιατί όλη η διαφημιστική εκστρατεία;

Το Microsoft Entity Framework είναι ένα εκτεταμένο ORM που σας βοηθά να απομονώσετε το μοντέλο αντικειμένων της εφαρμογής σας από το μοντέλο δεδομένων. Είναι ένα πλαίσιο ανοιχτού κώδικα ORM για το ADO.Net και περιλαμβάνεται ως μέρος του .Net Framework. Κατά τη χρήση εργαλείων ORM, μπορείτε να εστιάσετε στην επιχειρηματική λογική της εφαρμογής και να αποθηκεύσετε δεδομένα στη βάση δεδομένων με πολύ λιγότερο κώδικα. Μπορείτε να εκμεταλλευτείτε ένα ORM για τη μετατροπή δεδομένων μεταξύ ασύμβατων συστημάτων τύπου - μπορείτε να αποθηκεύσετε τα αντικείμενα του τομέα σας στην υποκείμενη βάση δεδομένων χωρίς να χρειάζεται να ανησυχείτε για τις εσωτερικές περιπλοκές σχετικά με τον τρόπο αποθήκευσης των δεδομένων. Το Entity Framework είναι ένα ώριμο ORM από τη Microsoft και μπορεί να χρησιμοποιηθεί με μια μεγάλη ποικιλία βάσεων δεδομένων.

Στις ενότητες που ακολουθούν, θα διερευνήσουμε καθεμία από τις τρεις προσεγγίσεις στη μοντελοποίηση οντοτήτων χρησιμοποιώντας το Entity Framework.

Κωδικός πρώτα

Η προσέγγιση Code First σάς βοηθά να δημιουργήσετε τις οντότητες στην εφαρμογή σας εστιάζοντας στις απαιτήσεις τομέα. Στην ουσία, μπορείτε να ακολουθήσετε το Domain Driven Design (DDD) χρησιμοποιώντας αυτήν την προσέγγιση. Μόλις καθοριστούν οι οντότητες σας και καθοριστούν οι διαμορφώσεις, μπορείτε να δημιουργήσετε τη βάση δεδομένων εν κινήσει χρησιμοποιώντας και τα δύο. Η προσέγγιση Code First σάς δίνει περισσότερο έλεγχο στον κωδικό σας - δεν χρειάζεται πλέον να εργάζεστε με αυτόματο δημιουργημένο κώδικα. Μου αρέσει αυτή η προσέγγιση καθώς σας δίνει μεγάλη ευελιξία και έλεγχο. Εάν έχετε έτοιμες τις κλάσεις τομέα, θα προτιμούσα πάντα αυτήν την προσέγγιση, καθώς μπορείτε εύκολα να δημιουργήσετε τη βάση δεδομένων σας από τις κλάσεις τομέα.

Το μειονέκτημα αυτής της προσέγγισης είναι ότι τυχόν αλλαγές στο υποκείμενο σχήμα βάσης δεδομένων θα χαθούν. σε αυτήν την προσέγγιση ο κώδικάς σας ορίζει και δημιουργεί τη βάση δεδομένων. Η προσέγγιση Code First σάς επιτρέπει να χρησιμοποιήσετε το Entity Framework και να ορίσετε το μοντέλο οντοτήτων χωρίς να σχεδιάσετε τα αρχεία ή τα αρχεία XML. Μπορείτε να χρησιμοποιήσετε την προσέγγιση POCO (Plain Old CLR Objects) για να ορίσετε το μοντέλο και να δημιουργήσετε τη βάση δεδομένων σας.

Σε αυτήν την προσέγγιση συνήθως δημιουργείτε τις κλάσεις οντοτήτων. Εδώ είναι ένα παράδειγμα. μια τυπική κατηγορία οντοτήτων δίνεται παρακάτω.

προϊόν δημόσιας τάξης

   {

δημόσιο int ProductId {get; σειρά; }

δημόσια συμβολοσειρά ProductName {get; σειρά; }

δημόσιο float Τιμή {get; σειρά; }

   }

Στη συνέχεια, πρέπει να ορίσετε ένα προσαρμοσμένο περιβάλλον δεδομένων επεκτείνοντας την κλάση DbContext όπως φαίνεται παρακάτω.

Δημόσια τάξη Περιεχόμενο: DbContext

   {

δημόσια προϊόντα DbSet {get; σειρά; }

   }

Τέλος, πρέπει να καθορίσετε τη συμβολοσειρά σύνδεσης στο αρχείο διαμόρφωσης. Τελείωσες!

Πρώτη βάση δεδομένων

Μπορείτε να χρησιμοποιήσετε την προσέγγιση Πρώτη βάση δεδομένων εάν η βάση δεδομένων έχει ήδη σχεδιαστεί και είναι έτοιμη. Σε αυτήν την προσέγγιση, το μοντέλο δεδομένων οντοτήτων (EDM) δημιουργείται από την υποκείμενη βάση δεδομένων. Για παράδειγμα, χρησιμοποιείτε την πρώτη προσέγγιση της βάσης δεδομένων όταν δημιουργείτε τα αρχεία edmx στο Visual Studio IDE από τη βάση δεδομένων. Οι μη αυτόματες αλλαγές στη βάση δεδομένων είναι δυνατές εύκολα και μπορείτε πάντα να ενημερώσετε το EDM εάν χρειάζεται (για παράδειγμα, εάν αλλάξει το σχήμα της υποκείμενης βάσης δεδομένων). Για να το κάνετε αυτό, απλώς ενημερώστε το EDM από τη βάση δεδομένων στο Visual Studio IDE.

Πρώτο μοντέλο

Στην προσέγγιση Model First μπορείτε να δημιουργήσετε πρώτα το EDM και, στη συνέχεια, να δημιουργήσετε τη βάση δεδομένων από αυτήν. Συνήθως θα δημιουργούσατε ένα κενό EDM χρησιμοποιώντας τον Οδηγό μοντέλου δεδομένων οντοτήτων στο Visual Studio, θα ορίσατε τις οντότητες και τις σχέσεις τους στο Visual Studio και, στη συνέχεια, θα δημιουργήσετε τη βάση δεδομένων από αυτό το καθορισμένο μοντέλο. Μπορείτε εύκολα να δημιουργήσετε οντότητες και να ορίσετε τις σχέσεις και τις σχέσεις τους στον σχεδιαστή στο Visual Studio. Μπορείτε επίσης να καθορίσετε την ιδιότητα Key και τους τύπους δεδομένων για τις ιδιότητες των οντοτήτων σας χρησιμοποιώντας τον σχεδιαστή. Μπορείτε να χρησιμοποιήσετε μερικές τάξεις για να εφαρμόσετε πρόσθετες λειτουργίες στις οντότητες σας.

Εντάξει, αλλά πότε πρέπει να χρησιμοποιήσετε την προσέγγιση Model First; Λοιπόν, εάν ούτε οι κλάσεις τομέα ούτε η βάση δεδομένων είναι έτοιμες και προτιμάτε να ορίσετε το μοντέλο δεδομένων χρησιμοποιώντας έναν οπτικό σχεδιαστή, αυτή η προσέγγιση είναι κατάλληλη για εσάς. Ωστόσο, όπως στην προσέγγιση Code First, στο εγχειρίδιο προσέγγισης Model First οι αλλαγές στη βάση δεδομένων θα χαθούν καθώς το μοντέλο ορίζει τη βάση δεδομένων.

$config[zx-auto] not found$config[zx-overlay] not found