|
|
Δημοσιεύτηκε στις 19/2/2021 2:00:14 μ.μ.
|
|
|
|

Με το Entity Framework Core, μπορείτε να μεταβείτε στο αρχικό ερώτημα SQL όταν χρησιμοποιείτε μια σχεσιακή βάση δεδομένων. Όταν το απαιτούμενο ερώτημα δεν μπορεί να αναπαρασταθεί στο LINQ, μπορεί να χρησιμοποιηθεί το ακατέργαστο ερώτημα SQL. Μπορείτε επίσης να χρησιμοποιήσετε μη επεξεργασμένα ερωτήματα SQL εάν η χρήση ερωτημάτων LINQ προκαλεί αναποτελεσματικά ερωτήματα SQL. Το μη επεξεργασμένο ερώτημα SQL μπορεί να επιστρέψει έναν γενικό τύπο οντότητας ή έναν τύπο οντότητας χωρίς κλειδί στο μοντέλο.
Ανακεφαλαίωση: Εκτέλεση δηλώσεων SQL και αποθηκευμένων διαδικασιών με το Entity Framework (EF).
Εκτελέστε ερωτήματα, ενημερώσεις και διαγραφές προτάσεων SQL και καλέστε αποθηκευμένες διαδικασίες και προβολές χρησιμοποιώντας τις ακόλουθες μεθόδους:
- ΑπόSqlRaw
- ΑπόSqlInterpolated
- Εκτέλεση SqlRaw
- ExecuteSqlInterpolated
Το FromSqlRaw και το FromSqlInterpolated χρησιμοποιούνται κυρίως για λειτουργίες ερωτημάτων Το ExecuteSqlRaw και το ExecuteSqlInterpolated εκτελούν λειτουργίες προσθήκης, ενημέρωσης και διαγραφής στη βάση δεδομένων και επιστρέφουν τον αριθμό των γραμμών που επηρεάζονται
Το τέλος είναι μια παρεμβαλλόμενη λέξη-κλειδί, η οποία είναι συνήθως μια προσθήκη, διαγραφή, τροποποίηση και έλεγχος παραμέτρων, καθώς και ένας τρόπος αντίστασης σε επιθέσεις SQL injection χρησιμοποιώντας σύνταξη παρεμβολής συμβολοσειρών. Για παράδειγμα:
Εξάγετε μια δήλωση SQL, οι συνθήκες ερωτήματος δεν περνούν από μάτισμα, όπως φαίνεται στο παρακάτω σχήμα:
Υπάρχουν ορισμένοι περιορισμοί που πρέπει να γνωρίζετε κατά τη χρήση εγγενών ερωτημάτων SQL:
Τα ερωτήματα SQL πρέπει να επιστρέφουν δεδομένα για όλα τα χαρακτηριστικά του τύπου οντότητας. Τα ονόματα στηλών στο σύνολο αποτελεσμάτων πρέπει να ταιριάζουν με τα ονόματα στηλών στα οποία αντιστοιχίζονται τα χαρακτηριστικά. Σημειώστε ότι αυτή η συμπεριφορά είναι διαφορετική από την EF6. Η σχέση αντιστοίχισης χαρακτηριστικού/στήλης του αρχικού ερωτήματος SQL παραβλέπεται στο EF6 και τα ονόματα στηλών του συνόλου αποτελεσμάτων πρέπει να συμφωνούν με τα ονόματα χαρακτηριστικών. Τα ερωτήματα SQL δεν μπορούν να περιέχουν συσχετισμένα δεδομένα. Ωστόσο, σε πολλές περιπτώσεις, μπορείτε να χρησιμοποιήσετε τη μέθοδο Συμπερίληψη αμέσως μετά το ερώτημα για να επιστρέψετε συσχετισμένα δεδομένα (δείτε Συμπερίληψη συσχετισμένων δεδομένων).
(Τέλος)
|
Προηγούμενος:Το EF Core Series 4 εξετάζει τις προτάσεις SQL που δημιουργούνταιΕπόμενος:Ο Βιολιστής αντικαθιστά συνδέσμους, ζητά ανακατευθύνσεις προώθησης
|