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

 

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

Δήλωση DataContext έξω ή μέσα στις functions και τα subs?

Îåêßíçóå áðü ôï ìÝëïò alex_VB. Τελευταία δημοσίευση από το μέλος Τάσκος Γιώργος στις 14-09-2010, 14:12. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  13-09-2010, 21:30 59988

    Δήλωση DataContext έξω ή μέσα στις functions και τα subs?

    Καλησπέρα σας. Θα ήθελα τη βοήθειά σας αφού εξετάσετε τις τρείς παρακάτω περιπτώσεις.

    Ερ.1 Ποιά απο τις παρακάτω περιπτώσεις είναι καλύτερη όσον αφορά το θέμα του performance?
    Ερ.2 Θα πρέπει να γίνεται manually dispose της datacontext κλάσης ή αυτό είναι δουλειά του garbage collector? Αν πρέπει να γίνεται manually  τότε αυτό το μοντέλο θα λειτουργεί μόνο για τις περιπτώσεις 1 και 3 και θα πρέπει να γίνεται στο τέλος κάθε function ή sub?

    ΠΕΡΙΠΤΩΣΗ 1

    Public Class customers
    Dim db as CustomerDataContext
    
    Private sub GetCustomer
    db = new customerDataContext
    Customer = (from u in db.........)
    End Sub
    
     
    Private function GetCustomerID As Customer
    db = new CustomerDataContext
    Customer = (from u in db.........)
    End function
    
    End Class
    Στην περίπτωση 1 η DataContext κλάση δηλώνεται στην αρχή αλλά δημιουργείται νέο instance σε κάθε function ή sub.
    ΠΕΡΙΠΤΩΣΗ 2
    Public Class customers
    Dim db as new CustomerDataContext
    
    Private sub GetCustomer
    Customer = (from u in db.........)
    End Sub
    
    
    Private function GetCustomerID As Integer
    Customer = (from u in db.........)
    End Function
     
    End Class
    Στην περίπτωση 2 το instance της DataContext κλάσης δημιουργείται ως δήλωση στην κλαση και μπορεί να χρησιμοποιηθεί οπουδήποτε μέσα στον κώδικα της κλάσης.
     
    ΠΕΡΙΠΤΩΣΗ 3
    Public Class customers
    
    Private sub GetCustomer
    Dim db as new CustomerDataContext
    Customer = (from u in db.........)
    End Sub
    
     
    Private function GetCustomerID As Integer
    Dim db as new CustomerDataContext
    Customer = (from u in db.........)
    End Function
    
    End Sub
    
    End Class
    Στην περίπτωση 3 δημιουργείται instance της DataContext κλάσης εκ νέου σε κάθε function ή sub.
     

    www.myautos.gr
  •  14-09-2010, 14:12 60000 σε απάντηση της 59988

    Απ: Δήλωση DataContext έξω ή μέσα στις functions και τα subs?

    Απ.1: Για Performance σίγουρα καλύτερο θα είναι να χρησιμοποιείς πάντα using () {} statements για να κάνεις Dispose το DataContext,
    έτσι δεν κρατάει references των αντικειμένων που φέρνεις από την βάση.

    Απ.2: Ακολούθησε την πρακτική στην πρώτη μου απάντηση για ποιο καλό architecture και χωρίζοντας τα layer καλύτερα.
    Θα πρέπει να δουλέψεις σε disconnected περιβάλλον όπου μπαίνουν άλλα θέματα στην μέση που είναι και off topic.



Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems