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

Άποψη: 17061|Απάντηση: 0

[ASP.NET] Με βάση. Ανάπτυξη αρχιτεκτονικής τριών επιπέδων .LINQ σε SQL

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 8/5/2015 3:47:22 μ.μ. | | | |

Ανοησίες γραμμένες μπροστά

Με βάση. Η αρχιτεκτονική τριών επιπέδων του .NET μπορεί να χωριστεί στα ακόλουθα επίπεδα: επίπεδο Data Linq, επίπεδο πρόσβασης δεδομένων, επίπεδο επιχειρηματικής λογικής και επίπεδο παρουσίασης. Τα σύμβολα βέλους στο Σχήμα 1 παρακάτω απεικονίζουν την αλληλεπίδραση μεταξύ των επιπέδων: το επίπεδο πρόσβασης δεδομένων αναφέρεται στο επίπεδο Data LINQ. Το επίπεδο επιχειρηματικής λογικής αναφέρεται στο επίπεδο πρόσβασης δεδομένων και στις οντοτήτων στο επίπεδο LINQ δεδομένων. Το επίπεδο παρουσίασης αναφέρεται στο επίπεδο επιχειρηματικής λογικής καθώς και στις οντοτήτων στο επίπεδο Data LINQ.

Το επίπεδο Data LINQ περιλαμβάνει κυρίως οντοτήτων και Data Context. Συνήθως, μια κλάση οντότητας είναι για έναν πίνακα στη βάση δεδομένων. Μπορούμε να δημιουργήσουμε περιπτώσεις κλάσεων οντοτήτων που μεταφέρονται μεταξύ διαφορετικών επιπέδων ως αντικείμενα δεδομένων.

        Εικόνα 1: Αρχιτεκτονική τριών επιπέδων LINQ σε SQL

Ακολουθεί ένα παράδειγμα του παραθύρου σύνδεσης κατά τη δημιουργία ενός έργου για την εισαγωγή της ανάπτυξης αρχιτεκτονικής τριών επιπέδων του LINQ σε SQL

Ετοιμασία

1. Αρχικά, χρειάζεστε μια βάση δεδομένων και έναν πίνακα δεδομένων για να αποθηκεύσετε το όνομα χρήστη και τον κωδικό πρόσβασης του συνδεδεμένου ατόμου. Εδώ, χρησιμοποιείται μια βάση δεδομένων SQL Server 2005. Η δομή του πίνακα της βάσης δεδομένων φαίνεται στο Σχήμα 2.

Εικόνα 2 Πίνακας χρήστη βάσης δεδομένων

2. Ανοίξτε το VS και δημιουργήστε ένα νέο έργο ---> άλλους τύπους έργων---> λύσεις Visual Studio---> κενές λύσεις. Όπως φαίνεται στο Σχήμα 3. (Το Visual Studio 2008 χρησιμοποιείται εδώ)


Φιγούρα 3 Δημιουργήστε μια κενή λύση

3. Προσθέστε μια βιβλιοθήκη τάξης. Κάντε δεξί κλικ στη λύση που δημιουργήθηκε πρόσφατα στην Εξερεύνηση λύσεων ---> προσθέσετε ---> νέο έργο ---> βιβλιοθήκη τάξης. Όπως φαίνεται στο Σχήμα 4. Η ίδια μέθοδος απαιτεί την προσθήκη τριών βιβλιοθηκών, BLL, DAL και DataLinq, και μιας εφαρμογής Windows Forms (αν πρόκειται για ανάπτυξη διαδικτυακής εφαρμογής, επιλέξτε ASP.NET Web εφαρμογή) και ονομάστε την UI.


Φιγούρα 4 Προσθήκη έργου βιβλιοθήκης

Η δομή μετά την προσθήκη φαίνεται στο Σχήμα 5. Ταυτόχρονα, κάντε δεξί κλικ στη διεπαφή χρήστη και ορίστε τη διεπαφή χρήστη ως στοιχείο εκκίνησης.


Εικόνα 5 Διάγραμμα δομής έργου

Προσθέστε μια προσφορά

Στην Εξερεύνηση λύσεων, προσθέστε αναφορές σε κάθε επίπεδο. Επίπεδο BLL Επιλέξτε Αναφορές --->κάντε δεξί κλικ ---> προσθέστε αναφορές. Όπως φαίνεται στο Σχήμα 6. Προσθέστε μια αναφορά στο System.Data.Linq. Ταυτόχρονα, σύμφωνα με τη σχέση μεταξύ των επιπέδων που φαίνονται στο Σχήμα 1 παραπάνω, προσθέστε αναφορές έργου σε DAL και DataLinq. Με τον ίδιο τρόπο, το επίπεδο DAL προσθέτει αναφορές έργου στο System.Data.Linq και το DataLinq, το επίπεδο DataLinq προσθέτει αναφορές στο System.Data.Linq και το επίπεδο UI προσθέτει αναφορές στο System.Data.Linq και αναφορές έργου σε BLL και DataLinq.


Εικόνα 6 Προσθήκη παραπομπών έργου

Μέχρι στιγμής, έχει καθιερωθεί μια αρχιτεκτονική τριών επιπέδων. Το παρακάτω είναι να προσθέσετε τις αντίστοιχες τους σε κάθε επίπεδο.

1. Πρώτον, το επίπεδο DataLinq. Κάντε δεξί κλικ στο DataLinq---> προσθέστε ---> νέο έργο---> επιλέξτε την κλάση LINQ σε SQL, όπως φαίνεται στην Εικόνα 7.


Φιγούρα 7 Προσθήκη LINQ στην κλάση SQL

2. Αφού ολοκληρωθεί η προσθήκη, θα δημιουργηθεί αυτόματα ένας κενός σχεδιαστής (αρχείο .dbml) με έναν σύνδεσμο προς την Εξερεύνηση διακομιστή, καθώς και το σχετικό αρχείο dbml.layout (αρχείο XML) και designer.cs αρχείο. Ανοίξτε την Εξερεύνηση διακομιστή και δημιουργήστε έναν σύνδεσμο προς τη βάση δεδομένων.


Εικόνα 8 Ανοίξτε την Εξερεύνηση διακομιστή

3. Συνδεθείτε στη βάση δεδομένων. Επιλέξτε το εργαλείο ---> προσθέσετε βάση δεδομένων. Όπως φαίνεται στο Σχήμα 9. Επιλέξτε τη βάση δεδομένων που μόλις δημιουργήσατε και προσδιορίστε τη βάση δεδομένων σύνδεσης. Σε αυτό το σημείο, η βάση δεδομένων θα εμφανιστεί στην Εξερεύνηση διακομιστή.


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


Εικόνα 10 Κατηγορία χρήστη

Προσθήκη επιπέδων κώδικα

Στρώμα DAL

Δημιουργήστε μια νέα κλάση UserDAL και προσθέστε τον ακόλουθο κώδικα

//UserDAL.cs

χρησιμοποιώντας το DataLinq.
χρησιμοποιώντας το System.Data.Linq.

χώρος ονομάτων DAL
{
    δημόσια τάξη UserDAL
    {
        private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();

        public User SelectRecordByID(συμβολοσειρά userid)
        {
            Δοκιμάστε
            {
                return (από το u στο objDataContext.User όπου u.Id == userid επιλέξτε u). Single();
            }
            αλιεύματα (Εξαίρεση π.χ.)
            {
                ρίξε πρώην?
            }
        }
    }
}

Στρώση BLL

Δημιουργήστε μια νέα κλάση UserBLL και προσθέστε τον ακόλουθο κώδικα

//UserBLL.cs

χρησιμοποιώντας το System.Data.Linq.
χρησιμοποιώντας το DataLinq.

χώρος ονομάτων BLL
{
    δημόσια τάξη UserBLL
    {
        ιδιωτικό DAL. UserDAL objUserDAL = νέο DAL. ΧρήστηςDAL();

        public User SelectRecordByID(συμβολοσειρά userid)
        {
            επιστροφή objUserDAL.SelectRecordByID(userid);
        }
    }
}

Κώδικας επιπέδου διεπαφής χρήστη

//LoginForm.cs

ιδιωτικό BLL. UserBLL objUserBLL = νέο BLL. ΧρήστηςBLL();
      
        private void btnSubmit_Click(αποστολέας αντικειμένου, EventArgs e)
        {
            αναγνωριστικό συμβολοσειράς = txtId.Text.Trim();
            συμβολοσειρά psd = txtPsd.Text.Trim();

            Χρήστης localDataTable = objUserBLL.SelectRecordByID(id);

            if (localDataTable != null && localDataTable.Psd == psd)
            {
                MessageBox.Show("Επιτυχία");
            }
            αλλιώς
            {
                MessageBox.Show("false");
            }
        }

Σε αυτό το σημείο, ο κώδικας για τη διεπαφή σύνδεσης είναι πλήρης. Μπορείτε να το εκτελέσετε για να δείτε το αποτέλεσμα.






Προηγούμενος:Εάν έχετε ήδη ένα ανοιχτό DataReader που σχετίζεται με αυτήν την εντολή, πρέπει πρώτα να το κλείσετε.
Επόμενος:Το LINQ λαμβάνει αποθηκευμένη διαδικασία πρόβλημα τιμής επιστροφής της αποθηκευμένης διαδικασίας μου
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com