C ado τεχνολογία. ΚΑΘΑΡΑ

Αφιερωμένο σε όσους γράφουν ερωτήματα στον κώδικα της σελίδας...

Χαιρετίσματα σε όλους!

Υπάρχουν ορισμένες πληροφορίες σχετικά με το Habré ότι η επόμενη έκδοση του VisualStudio 2008 θα έχει ADO.NET EntityFramework. (Θα σας πω ένα μυστικό, αυτή η έκδοση έχει ήδη εμφανιστεί.) Αυτή η ανάπτυξη είναι ένα καθολικό πλαίσιο που σας επιτρέπει να δημιουργήσετε λογική δεδομένων για το έργο σας με μερικά κλικ του ποντικιού.
Μέχρι στιγμής, δουλεύοντας με τη λογική δεδομένων, έχω συναντήσει 2 τύπους έργων. Τα πρώτα δημιουργήθηκαν στο περιβόητο πλαίσιο NHibernate, άλλα εφαρμόστηκαν από προγραμματιστές. Γράφω και αναπτύσσω διάφορα συστήματα εδώ και 3 χρόνια και όλο αυτό το διάστημα αναπτύσσω τη λογική να δουλεύω αποκλειστικά με αυτές τις λαβές.
Και έτσι, τις προάλλες, αφού εγκατέστησα ένα νέο Windows, κατέβασα το VisualStudio WebDeveloper Express και χάρηκα που βρήκα το ADO.NET EntityFramework στο πακέτο. Μετά από κάποιο χρονικό διάστημα, κατοχύρωσα έναν τομέα, δημιούργησα έναν απλό ιστότοπο και άρχισα να εκπαιδεύω τις δυνάμεις μου στη σύνταξη προγραμμάτων για αυτό το πλαίσιο.

Πρώτα πρέπει να δημιουργήσετε ένα απλό έργο Web με βάση δεδομένων. Θα ήταν επίσης ωραίο να συνδεθείτε στη βάση δεδομένων αμέσως μέσω του DataBase Explorer. Απλώς θα είναι πιο βολικό αργότερα.

Μετά από αυτό, ένα νέο στοιχείο "ADO.NET Entity Data Model" πρέπει να προστεθεί στο έργο.

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

Στη βάση δεδομένων μου, έχω ήδη δύο πολύ απλούς πίνακες Post και User, οπότε χωρίς άλλη καθυστέρηση, ανάγκασα το σύστημα να δημιουργήσει ένα μοντέλο με βάση τη βάση δεδομένων μου. Μετά από όλα αυτά, πολύ απλές ενέργειες, απέκτησα ένα λειτουργικό μοντέλο db. Επιπλέον, έχοντας μελετήσει οπτικά αυτό το μοντέλο, δεν ξέχασα να κοιτάξω τον κώδικα και να δω πώς το πλαίσιο περιγράφει όλες τις τάξεις μου;

  1. χώρο ονομάτων DataBaseCore
  2. ///
  3. /// Δεν υπάρχουν σχόλια για το DbModel στο σχήμα.
  4. ///
  5. δημόσια μερική κλάση DbModel: global::System.Data.Objects.ObjectContext
  6. ///
  7. /// Αρχικοποιεί ένα νέο αντικείμενο DbModel χρησιμοποιώντας τη συμβολοσειρά σύνδεσης που βρίσκεται στην ενότητα "DbModel" του αρχείου διαμόρφωσης της εφαρμογής.
  8. ///
  9. public DbModel() :
  10. base("name=DbModel" , "DbModel" )
  11. αυτό το .OnContextCreated();
  12. /* Κομμένο ως περιττό */
  13. δημόσια μερική τάξη Δημοσίευση: global::System.Data.Objects.DataClasses.EntityObject
  14. ///
  15. /// Δημιουργία νέου αντικειμένου Post.
  16. ///
  17. /// Αρχική τιμή Id.
  18. δημόσια στατική Δημοσίευση CreatePost(int id)
  19. Δημοσίευση ανάρτησης = νέα ανάρτηση();
  20. post.Id = id;
  21. επιστροφή ταχυδρομείο?

Το εκπαιδευμένο μάτι ενός ειδικού στη λογική δεδομένων έδειξε την παρουσία μιας αρκετά απλής και κομψής τάξης που επέτρεπε την εργασία τόσο με αναρτήσεις στο σύστημα όσο και με χρήστες.

Λοιπόν, καλά, έχουμε ήδη τον κωδικό, μένει μόνο να αρχίσουμε να τον χρησιμοποιούμε. Και εδώ, μας αποκαλύπτονται όλες οι γοητείες και οι δυνατότητες του ASP.NET. Μεταξύ ενός σημαντικού αριθμού πηγών δεδομένων στη σελίδα, είδα το Entity Data Source, το οποίο παρέχει ευτυχώς δεδομένα κατόπιν αιτήματος από την τάξη μας. Το σύρουμε στη φόρμα, εκκινούμε τον οδηγό εγκατάστασης και επισυνάπτουμε γρήγορα την πηγή δεδομένων στον πίνακα αναρτήσεών μας.

Αναμφίβολα, η περιγραφή του datasort στον κώδικα ASPX έχει γίνει πολύ πιο ευχάριστη.

  1. < asp:EntityDataSource ID ="dsPosts" runat ="server" ConnectionString ="name=DbModel"
  2. DefaultContainerName ="DbModel" EntitySetName ="Post" >
* Αυτός ο πηγαίος κώδικας επισημάνθηκε με το εργαλείο επισήμανσης πηγαίου κώδικα .

Μπορεί να ειπωθεί - λάμπει με χάρη.

Αφού εμφανιστεί ο πάροχος δεδομένων στη φόρμα, χρειάζεται και ο καταναλωτής. Χωρίς να είμαι έξυπνος, πρόσθεσα έναν απλό κώδικα που απλά εμφανίζει όλες τις αναρτήσεις με τη σειρά.

  1. < asp:Repeater runat ="server" ID ="repPosts" DataSourceID ="dsPosts" >
  2. < HeaderTemplate >
  3. < ItemTemplate >
  4. < div >
  5. < h3 >
  6. < asp:Label ID ="lblHeader" runat ="server" Text ="<%# Eval("Header") %>" >
  7. < p >
  8. < asp:Label ID ="lblText" runat ="server" Text ="<%# Helpers.TypographText(Eval("Text").ToString()) %>" >
* Αυτός ο πηγαίος κώδικας επισημάνθηκε με το εργαλείο επισήμανσης πηγαίου κώδικα .

Και εδώ τελειώνει το πιο απλό μέρος της ιστορίας μου. Μέχρι στιγμής, όλα όσα έχουν γίνει μπορούν να επαναληφθούν με το ποντίκι. Ήταν αρκετά εύκολο. Μόλις δημιουργήσαμε μια αντικειμενοστραφή προβολή της βάσης δεδομένων και χρησιμοποιώντας αυτήν την προβολή, αρχίσαμε να εμφανίζουμε δεδομένα από τη βάση δεδομένων στη σελίδα. Ταυτόχρονα, ποτέ δεν γράψαμε ούτε ένα αίτημα, δεν λάβαμε δεδομένα από τη βάση δεδομένων απευθείας κ.λπ.

Τι να εμφανίσουμε όμως στον χρήστη αν δεν έχουμε τίποτα στη βάση δεδομένων; ΟΧΙ καλα. Πρέπει να γράψετε μια φόρμα για να συμπληρώσετε τη βάση δεδομένων. Τώρα θα σταματήσουμε τον προγραμματισμό του ποντικιού και θα αρχίσουμε να γράφουμε κώδικα.

Έκανα τις δύο πιο βασικές ενέργειες για την εργασία με αναρτήσεις στο σύστημα - αυτή είναι η προσθήκη και η διαγραφή. Η επεξεργασία κατ' αναλογία με αυτόν τον κώδικα δεν θα είναι δύσκολη για κανέναν.

  1. χώρο ονομάτων DBW
  2. ανάρτηση δημόσιας τάξης
  3. δημόσια ανάρτηση()
  4. δημόσιο στατικό κενό Νέο (String PostText, String PostHeader, Int32 UserId)
  5. p.Header = PostHeader;
  6. p.Text = Helpers.TypographText(PostText);
  7. p.PublishDate = DateTime.Now;
  8. p.User = (από usr σε m.User όπου usr.Id == UserId επιλέξτε usr).First();
  9. m.AddToPost(p);
  10. m.SaveChanges();
  11. δημόσιο στατικό κενό Διαγραφή (Int32 PostId)
  12. DataBaseCore.DbModel m = new DataBaseCore.DbModel();
  13. DataBaseCore.Post p = new DataBaseCore.Post();
  14. p = (από pst σε m.Post όπου pst.Id == PostId επιλέξτε pst).First();
  15. m.DeleteObject(p);
  16. m.SaveChanges();
* Αυτός ο πηγαίος κώδικας επισημάνθηκε με το εργαλείο επισήμανσης πηγαίου κώδικα .

Φαίνεται ότι όλα είναι απλά, και ναι, είναι. Αλλά υπάρχουν μερικές αποχρώσεις.
Πρώτον, είναι το LINQ. Χωρίς αυτό, το ADO.NET δεν είναι πουθενά. Επομένως, δεν πρέπει να αποφεύγετε και γενικά να σκοράρετε σε SQL ή LINQ, πρέπει ακόμα να γράφετε ερωτήματα.
Δεύτερον, αυτός ο κώδικας δημιουργείται αυτόματα από το πλαίσιο, επομένως δεν θα χρειαστεί να περιμένετε μεγάλη ευκολία σε ορισμένα σημεία και θα πρέπει να είστε πάντα έτοιμοι να αλλάξετε τον κώδικα που έχει ήδη δημιουργηθεί από το στούντιο. Για παράδειγμα, εδώ στη γραμμή 16 θα ήταν πιο βολικό να μην χρησιμοποιήσω ένα αντικείμενο του τύπου χρήστη, το οποίο έπρεπε να επιλέξω από τη βάση δεδομένων, αλλά να μεταβιβάσω αμέσως την τιμή του αναγνωριστικού χρήστη. Θα ήταν πιο βολικό για αυτόν τον κωδικό, αλλά δεν είναι καθολικός. Επομένως, ο κώδικας πρέπει να βελτιωθεί και να επανεξεταστεί. Ίσως χρειάζεται απλώς να περάσετε όχι ένα αναγνωριστικό χρήστη, αλλά ένα αντικείμενο τύπου χρήστη.

Τι έπεται? Περαιτέρω, θα συνεχίσω να γράφω το έργο, εμβαθύνοντας στην άγρια ​​φύση του ADO.NET Entity Framework, και θα χαρώ να μοιραστώ την έρευνά μου μαζί σας, αγαπητοί habrausers. Αντίστοιχα, θα υπάρξουν νέα άρθρα με πιο σοβαρά και σε βάθος δεδομένα.

UPD. Το θέμα είναι πολύ ευρύ. Δεν αποκαλύπτεται καν ένα ποσοστό πιθανοτήτων εδώ, αλλά η συνέχεια θα είναι 8-)

Τεχνολογίες ADO.NET, . Πλαίσιο δικτύου, CORBA

Η τεχνολογία πρόσβασης απομακρυσμένης βάσης δεδομένων ADO .NET αναπτύχθηκε επίσης για την αρχιτεκτονική πελάτη-διακομιστή. Εκτός από δύο επίπεδα απομακρυσμένων βάσεων δεδομένων - πελάτη και διακομιστή - εμφανίζονται επιπλέον επίπεδα - διακομιστές επιχειρησιακής λογικής που υλοποιούν την επιχειρηματική λογική των εφαρμογών.

Η τεχνολογία ADO .NET καθιερώνει το ακόλουθο σχήμα για την εργασία του πελάτη με τον διακομιστή βάσης δεδομένων:

Δημιουργία σύνδεσης με τον διακομιστή.

Λήψη των απαραίτητων δεδομένων.

Κλείσιμο της σύνδεσης.

Επεξεργασία δεδομένων;

Δημιουργία σύνδεσης για μεταφορά αλλαγμένων δεδομένων πίσω στον διακομιστή.

Το ADO .NET βασίζεται σε δύο κύριες ενότητες:

Πάροχος δεδομένων .NET FrameWork

Μόνιμη σχεσιακή βάση δεδομένων (DataSet).

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

α) Η σύνδεση χρησιμοποιείται για τη δημιουργία σύνδεσης με μια πηγή δεδομένων, καθώς και για τη διαχείριση συναλλαγών.

β) Η εντολή σας επιτρέπει να χειριστείτε τα δεδομένα προέλευσης, καθώς και να εκτελέσετε αποθηκευμένες διαδικασίες. Σε αυτήν την περίπτωση, μπορούν να χρησιμοποιηθούν παράμετροι για τη μεταφορά δεδομένων και προς τις δύο κατευθύνσεις.

γ) Ο DataAdapter χρησιμεύει ως σύνδεσμος μεταξύ της μόνιμης βάσης δεδομένων DataSet και της προέλευσης δεδομένων και συνήθως χρησιμοποιεί το αντικείμενο Command για να εκτελέσει εντολές SQL τόσο κατά την πλήρωση του συνόλου δεδομένων με δεδομένα όσο και κατά την αποστολή δεδομένων που έχουν αλλάξει από τον πελάτη στην πηγή. Έχει τέσσερις μεθόδους για να εκτελέσει αυτές τις λειτουργίες: SelectCommand, InsertCommand, UpdateCommand και DeleteCommand.

δ) Το DataReader παρέχει δεδομένα μόνο για ανάγνωση από την πηγή. Εάν η εφαρμογή-πελάτης δεν τροποποιεί τα δεδομένα και δεν απαιτεί αυθαίρετη επιλογή δεδομένων, αλλά αρκεί μια εφάπαξ προβολή, τότε η χρήση ενός DataReader αντί για ένα DataSet θα εξοικονομήσει πόρους του υπολογιστή και θα αυξήσει την απόδοση της εφαρμογής.

Μόνιμη σχεσιακή βάση δεδομένων είναι μια σχεσιακή βάση δεδομένων που λαμβάνεται από τον πελάτη, η οποία είναι αποθηκευμένη στη μνήμη RAM που εδρεύει.

Περαιτέρω, ο πελάτης εκτός σύνδεσης επεξεργάζεται τα δεδομένα και, εάν είναι απαραίτητο, τα τροποποιεί, μετά από την οποία η σύνδεση με τον διακομιστή αποκαθίσταται ξανά και οι τροποποιημένες πληροφορίες από τη βάση δεδομένων του κατοίκου μεταδίδονται πίσω.

Ένα τέτοιο σχήμα αλληλεπίδρασης είναι κάπως παρόμοιο με το έργο της αρχιτεκτονικής αρχείων -

διακομιστή και χρησιμοποιείται συχνά από επιχειρήσεις όταν εργάζονται με απομακρυσμένες βάσεις δεδομένων μέσω παγκόσμιο δίκτυοΔιαδίκτυο.

Για την παροχή πρόσβασης σε αντικείμενα μέσω του παγκόσμιου Διαδικτύου, ως μέρος του ADO .NET, παρέχεται η λειτουργική μονάδα .NET FrameWork που παρέχει αλληλεπίδραση μεταξύ διαφόρων μορφών παρουσίασης δεδομένων, συμπεριλαμβανομένων των HTML και XML.

Από αυτά τα χαρακτηριστικά, μπορεί να φανεί ότι η τεχνολογία ADO .NET παρέχει:

Δυνατότητα αλληλεπίδρασης μεταξύ δεδομένων διαφόρων μορφών, συμπεριλαμβανομένων HTML και XML.

Σημαντική εξοικονόμηση κόστους κατά την εργασία με απομακρυσμένες βάσεις δεδομένων μέσω του παγκόσμιου Διαδικτύου.

Τελευταία ενημέρωση: 31.10.2015

Σήμερα, η εργασία με δεδομένα έχει μεγάλη σημασία. Χρησιμοποιείται για την αποθήκευση δεδομένων διάφορα συστήματαδιαχείριση βάσης δεδομένων: MS SQL Server, Oracle, MySQL και ούτω καθεξής. Και οι περισσότερες μεγάλες εφαρμογές χρησιμοποιούν αυτά τα συστήματα διαχείρισης βάσεων δεδομένων με τον ένα ή τον άλλο τρόπο για την αποθήκευση δεδομένων. Ωστόσο, απαιτείται ένας ενδιάμεσος για την επικοινωνία μεταξύ της βάσης δεδομένων και της εφαρμογής C#. Και ένας τέτοιος ενδιάμεσος είναι η τεχνολογία ADO.NET.

Το ADO.NET παρέχει μια τεχνολογία δεδομένων που βασίζεται στο .NET Framework. Αυτή η τεχνολογία μας παρουσιάζει ένα σύνολο κλάσεων μέσω των οποίων μπορούμε να στείλουμε ερωτήματα σε βάσεις δεδομένων, να δημιουργήσουμε συνδέσεις, να λάβουμε απάντηση από τη βάση δεδομένων και να εκτελέσουμε μια σειρά από άλλες λειτουργίες.

Επιπλέον, είναι σημαντικό να σημειωθεί ότι μπορεί να υπάρχουν πολλά συστήματα διαχείρισης βάσεων δεδομένων. Στην ουσία, μπορεί να διαφέρουν. Ο MS SQL Server, για παράδειγμα, χρησιμοποιεί Γλώσσα T-SQL, ενώ η MySQL και η Oracle χρησιμοποιούν PL-SQL. Διαφορετικά συστήματα βάσεων δεδομένων μπορεί να έχουν διαφορετικούς τύπους δεδομένων. Άλλα σημεία μπορεί επίσης να διαφέρουν. Ωστόσο, η λειτουργικότητα του ADO.NET είναι χτισμένη με τέτοιο τρόπο ώστε να παρέχει στους προγραμματιστές μια ενοποιημένη διεπαφή για εργασία με μεγάλη ποικιλία DBMS.

Η διεπαφή βάσης δεδομένων στο ADO.NET βασίζεται σε περιορισμένο εύρος αντικειμένων: Connection, Command, DataReader, DataSet και DataAdapter. Το αντικείμενο Connection δημιουργεί μια σύνδεση με την προέλευση δεδομένων. Το αντικείμενο Command σάς επιτρέπει να εκτελείτε λειτουργίες σε δεδομένα από τη βάση δεδομένων. Το αντικείμενο DataReader διαβάζει τα δεδομένα που λαμβάνονται ως αποτέλεσμα της αίτησης. Το αντικείμενο DataSet έχει σχεδιαστεί για να αποθηκεύει δεδομένα από τη βάση δεδομένων και σας επιτρέπει να εργάζεστε μαζί τους ανεξάρτητα από τη βάση δεδομένων. Και το αντικείμενο DataAdapter είναι ένας ενδιάμεσος μεταξύ του συνόλου δεδομένων και της προέλευσης δεδομένων. Κυρίως μέσω αυτών των αντικειμένων θα προχωρήσει η δουλειά με τη βάση δεδομένων.

Ωστόσο, για να χρησιμοποιηθεί το ίδιο σύνολο αντικειμένων για διαφορετικές πηγές δεδομένων, είναι κατάλληλο πάροχος δεδομένων. Στην πραγματικότητα, μέσω του παρόχου δεδομένων στο ADO.NET, πραγματοποιείται αλληλεπίδραση με τη βάση δεδομένων. Επιπλέον, για κάθε πηγή δεδομένων στο ADO.NET μπορεί να υπάρχει ο δικός της πάροχος, ο οποίος ουσιαστικά καθορίζει τη συγκεκριμένη υλοποίηση των παραπάνω κλάσεων.

Από προεπιλογή, το ADO.NET έχει τους ακόλουθους ενσωματωμένους παρόχους:

    Πάροχος για MS SQL Server

    Πάροχος για OLE DB (Παρέχει πρόσβαση σε ορισμένες παλιές εκδόσεις του MS SQL Server, καθώς και σε βάσεις δεδομένων Access, DB2, MySQL και Oracle)

    Πάροχος για ODBC (Πάροχος για εκείνες τις πηγές δεδομένων για τις οποίες δεν υπάρχουν πάροχοι)

    Πάροχος για την Oracle

    Πάροχος EntityClient. Πάροχος δεδομένων για την τεχνολογία ORM Entity Framework

    Πάροχος για SQL Server Compact 4.0 Server

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

Οι κύριοι χώροι ονομάτων που χρησιμοποιούνται στο ADO.NET είναι:

    System.Data: ορίζει κλάσεις, διεπαφές, πληρεξούσιους που υλοποιούν την αρχιτεκτονική ADO.NET

    System.Data.Common: περιέχει κλάσεις κοινές σε όλους τους παρόχους ADO.NET

    System.Data.Design: ορίζει κλάσεις που χρησιμοποιούνται για τη δημιουργία των δικών τους συνόλων δεδομένων

    System.Data.Odbc: Καθορίζει τη λειτουργικότητα του παρόχου δεδομένων για το ODBC

    System.Data.OleDb: Καθορίζει τη λειτουργικότητα ενός παρόχου δεδομένων για το OLE DB

    System.Data.Sql: Αποθηκεύει κλάσεις που υποστηρίζουν συγκεκριμένες λειτουργίες του SQL Server

    System.Data.OracleClient: Καθορίζει τη λειτουργικότητα του παρόχου για βάσεις δεδομένων Oracle

    System.Data.SqlClient: ορίζει τη λειτουργικότητα του παρόχου για βάσεις δεδομένων MS SQL Server

    System.Data.SqlServerCe: Καθορίζει τη λειτουργικότητα του παρόχου για τον SQL Server Compact 4.0

    System.Data.SqlTypes: περιέχει κλάσεις για τύπους δεδομένων MS SQL Server

    Microsoft.SqlServer.Server: Αποθηκεύει στοιχεία για τον SQL Server για επικοινωνία με την κοινή γλώσσα χρόνου εκτέλεσης

Σχηματικά, η αρχιτεκτονική του ADO.NET μπορεί να αναπαρασταθεί ως εξής:

Λειτουργικά, οι κλάσεις ADO.NET μπορούν να χωριστούν σε δύο επίπεδα: συνδεδεμένο και αποσυνδεδεμένο. Κάθε πάροχος δεδομένων .NET υλοποιεί τη δική του έκδοση του Connection, Command, DataReader, DataAdapter και ορισμένων άλλων αντικειμένων που αποτελούν το συνδεδεμένο επίπεδο. Δηλαδή, με τη βοήθεια αυτών δημιουργείται σύνδεση με τη βάση δεδομένων και πραγματοποιείται αλληλεπίδραση με αυτήν. Κατά κανόνα, οι υλοποιήσεις αυτών των αντικειμένων για κάθε συγκεκριμένο πάροχο έχουν ένα πρόθεμα στο όνομά τους που υποδεικνύει τον πάροχο:

Άλλες κλάσεις όπως DataSet, DataTable, DataRow, DataColumn και ορισμένες άλλες αποτελούν το αποσυνδεδεμένο επίπεδο, επειδή μόλις ανακτηθούν τα δεδομένα στο DataSet, μπορούμε να εργαστούμε με αυτά τα δεδομένα είτε έχει δημιουργηθεί η σύνδεση είτε όχι. Δηλαδή, μετά τη λήψη δεδομένων από τη βάση δεδομένων, η εφαρμογή μπορεί να αποσυνδεθεί από την πηγή δεδομένων.

Όταν οι αρχιτέκτονες αρχιτεκτονικής n-tier αξιολογούν μια νέα τεχνολογία, μοτίβο ή στρατηγική, αποφασίζουν πώς αυτό το νέο κομμάτι του παζλ θα ταιριάζει στην αρχιτεκτονική. Εάν υπάρχει Entity Framework, η ενοποίηση δεν προκαλεί δυσκολίες. Μπορεί να ενσωματωθεί σε αρχιτεκτονική n-tier καθώς και σε αρχιτεκτονική single-tier.

19.03.2009 15:32

Συνήθεις ερωτήσεις για το πλαίσιο οντοτήτων

Η κατανόηση της μοντελοποίησης οντοτήτων, η αντιστοίχιση τέτοιων μοντέλων σε σχεσιακές βάσεις δεδομένων και ο σχεδιασμός Μοντέλων Δεδομένων Οντοτήτων (EDM) είναι τα πρώτα βήματα για την κατανόηση του Πλαισίου Οντοτήτων. Θα ξεκινήσω αυτό το άρθρο απαντώντας σε ερωτήσεις σχετικά με τις βασικές αρχές του Entity Framework, συμπεριλαμβανομένης της κλάσης ObjectContext και, στη συνέχεια, θα απαντήσω σε ερωτήσεις σχετικά με το πότε και πού να χρησιμοποιήσετε το Entity Client με Entity SQL. Επιπλέον, σκοπεύω να εξηγήσω τη διαφορά μεταξύ των υπηρεσιών EntityClient και Object Services και τις συνέπειες της χρήσης ερωτημάτων LINQ και Entity SQL μαζί με αυτές τις υπηρεσίες.

16.02.2009 15:15

Επισκόπηση πλαισίου οντοτήτων ADO.NET

Υπό έκδοση οπτικό στούντιο 2008, το ADO.NET εισάγει μια νέα αρχιτεκτονική Entity Framework. Επιτρέπει στους προγραμματιστές να έχουν πρόσβαση σε δεδομένα χρησιμοποιώντας ένα μοντέλο αντικειμένου αντί για ένα λογικό ή σχεσιακό μοντέλο δεδομένων. Το Entity Framework βοηθά στην αφαίρεση λογικό διάγραμμαδεδομένα στο εννοιολογικό μοντέλο και παρέχει διάφορους τρόπους αλληλεπίδρασης με το εννοιολογικό μοντέλο μέσω των Υπηρεσιών Αντικειμένου και ενός νέου παρόχου δεδομένων που ονομάζεται EntityClient. Το άρθρο αυτού του μήνα συζητά τι είναι το Entity Framework, πώς εφαρμόζεται σε μια εφαρμογή και πώς να σχεδιάζετε και να προγραμματίζετε έχοντας κατά νου.

13.02.2009 18:44

Ανάπτυξη ενός μοντέλου δεδομένων οντοτήτων με το πλαίσιο οντοτήτων

Το Entity Framework είναι νέα τεχνολογία, σχεδιασμένο για το ADO.NET. Επιτρέπει στους προγραμματιστές να οπτικοποιούν δεδομένα χρησιμοποιώντας ένα λογικό μοντέλο αντί για ένα φυσικό μοντέλο, το οποίο παρέχει κάποια ευελιξία ανάπτυξης. Στο τεύχος Ιουλίου 2007 του περιοδικού, υπό τον τίτλο «Σημεία δεδομένων», δώσαμε αναλυτική επισκόπησηΤεχνολογίες Entity Framework (θα πρέπει να κυκλοφορήσει επίσημα το πρώτο εξάμηνο του 2008).

13.02.2009 18:33

Χρήση χαρακτηριστικών για την κανονικοποίηση και επικύρωση επιχειρηματικών οντοτήτων

Στον εταιρικό προγραμματισμό, κατά το σχεδιασμό ενός επιπέδου πρόσβασης δεδομένων, τίθεται συχνά το ζήτημα της εργασίας με επιχειρηματικά αντικείμενα (επιχειρηματικές οντότητες): αυτά είναι η φόρτωση / αλλαγή / αποθήκευση και μετακίνηση μεταξύ επιπέδων. Υπάρχουν δύο κύριες προσεγγίσεις για να το κάνετε αυτό - χρησιμοποιώντας τις δικές σας επιχειρηματικές οντότητες ή τυπικά μέσα(Το ADO.NET παρέχει αρκετά βολικούς τρόπους για να το κάνετε αυτό) - χρησιμοποιώντας ένα DataSet.

20.01.2007 03:54

ADO.NET: Επισκόπηση τεχνολογίας

Πολλοί προγραμματιστές που εργάζονται με βάσεις δεδομένων πλατφόρμες της Microsoft, θα μπορούσε να εκτιμήσει την απλότητα και την ευκολία της τεχνολογίας ADO - ActiveX Data Objects. Μια διαισθητική διεπαφή και ένα λογικό σύνολο αντικειμένων, μαζί με την ευκολία προγραμματισμού, έχουν λάβει επάξια αναγνώριση από τους προγραμματιστές. Παρόλα αυτά, μαζί με τη νέα πλατφόρμα .NET, η Microsoft εισάγει επίσης μια νέα γενιά εργαλείων πρόσβασης στη βάση δεδομένων - ADO.NET.

27.12.2006 01:32

Λειτουργίες σε δεδομένα με ιεραρχική δομή. Ανάπτυξη κατανεμημένων εφαρμογών στο .NET

Αυτό το άρθρο παρουσιάζει την τεχνική για την ανάγνωση και τη σύνταξη ιεραρχικών συνόλων σειρών σε μια πηγή δεδομένων. Στα παραδείγματα κώδικα που παρέχονται σε αυτό το άρθρο, για να συνδεθείτε στη βάση δεδομένων δεδομένα της MicrosoftΟ SQL Server ή το Microsoft Desktop Engine (MSDE) χρησιμοποιεί έναν πάροχο διαχειριζόμενης SQL. Για να συνδεθείτε με άλλες πηγές δεδομένων συμβατές με OLEDB, χρησιμοποιήστε τον διαχειριζόμενο πάροχο ADO.

27.12.2006 01:26

Εργασία με δεδομένα εκτός σύνδεσης στο ADO.NET

Το ADO.NET, σε αντίθεση με τους προκατόχους του, ADO και OLE DB, σχεδιάστηκε ειδικά για χρήση σε διαδικτυακές εφαρμογές, όπου δεν υπάρχουν μόνιμες συνδέσεις με τη βάση δεδομένων. Η παραδοσιακή εργασία με δεδομένα στο ADO.NET είναι κατασκευασμένη σύμφωνα με το ακόλουθο σχήμα: Σύνδεση, στη συνέχεια ανοίγει με τη μέθοδο Open, δημιουργείται ένα αντικείμενο Command με ενθυλάκωση Εντολή SQL, εκτελείται και στη συνέχεια η σύνδεση κλείνει. Αυτή η προσέγγιση παρέχει πρόσβαση σε νήματα στα αποτελέσματα ερωτημάτων. Εκείνοι. κατά την ανάγνωση δεδομένων με ένα DataReader, δεν μπορείτε να μεταβείτε σε πολλές εγγραφές ή να επιστρέψετε στην προηγούμενη. Η πρόσβαση σε ροή έχει μέγιστη απόδοση.



Φόρτωση...
Μπλουζα