Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Unit of Work Pattern on EF 4

Îåêßíçóå áðü ôï ìÝëïò pmatsinopoulos. Τελευταία δημοσίευση από το μέλος George J. Capnias στις 06-12-2010, 09:04. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-12-2010, 09:27 61301

    Unit of Work Pattern on EF 4

    Καλημέρα σας,

    Υπάρχει κάτι έτοιμο από το EF 4 για το Unit Of Work pattern?

    Ευχαριστώ

    Παναγιώτης Ματσινόπουλος

  •  06-12-2010, 02:11 61312 σε απάντηση της 61301

    Απ: Unit of Work Pattern on EF 4


    Υπάρχει αυτό εδώ το T4 template από το codeplex για την δημιουργία data access layer που χρησιμοποιεί repository & unit of work patterns.

    Επίσης δες και αυτό και αυτό το Blog post.

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  06-12-2010, 09:04 61313 σε απάντηση της 61301

    Απ: Unit of Work Pattern on EF 4

    Καλημέρα,

    Το Unit of Work έχει οριστεί στο P of EAA, σαν "το αντικείμενο που συντηρεί μια λίστα από αντικείμενα που επηρεάζονται από ένα business transaction, και συντονίζει την αποθήκευση των αλλαγών τους στην βάση αλλά και επιλύει τις πιθανές διενέξεις". Είναι καθαρό ότι το ObjectContext έχει αυτό το ρόλο στο Entity Framework.

    Επίσης, το σύνολο των κλάσεων που παράγονται από το Entity Framework, δεν αποτελούν μια ιεραρχία αντικειμένων που απλά προέρχονται από την βάση δεδομένων (objects over tables hierachy), μιας που το μοντέλο του EF που παράγεται, αποτελεί την ένωση της ιεραρχίας των πινάκων της βάσης δεδομένων, της επιθυμητής ιεραρχίας των αντικειμένων που παράγονται και της συσχέτισης αυτών των δύο.

    Προσωπικά, δεν βλέπω το λόγο για κάποιον να προσπαθήσει να υλοποιήσει τα Repository & Unit of Work με το EF, μιας και το ίδιο το framework έχει σχεδιαστεί να περιέχει αυτά τα patterns.

    Από εκεί και πέρα επεκτάσεις και βελτιώσεις μπορείς να κάνεις παντού:

    • Κάποια στιγμή θέλησα να γράφω τον ίδιο κώδικα είτε έγραφα επάνω σε EFv1 είτε σε EFv4 όταν έφτιαχνα web sites - όταν κυκλοφόρησε το EFv4. Έτσι κατέληξα σε αυτό που βλέπεις σε αυτή τη δημοσίευση. 
    • Στην συνέχεια κατάλαβα, ότι με αυτή την προσέγγιση δεν θα έλυνα το πρόβλημά μου - απλά θα το συντηρούσα - γράφοντας περισσότερο κώδικα. Οπότε παράτησα την προσέγγιση Database First και υιοθέτησα το Μodel First του EFv4.
    • Τώρα ανυπομονώ να ολοκληρωθεί το Entity Framework Feature, Code First, μιας με αυτό τα αντικείμενα που παράγονται είναι πλήρως ελεγχόμενα.

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

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems