Cum se invocă funcții personalizate ale bazei de date

Această secțiune descrie procedurile de apelare a funcțiilor definite de utilizator definite în baza de date de la LINQ la interogările entităților.

Funcțiile bazei de date care sunt chemați în interogările LINQ către entități sunt executate în baza de date. Când efectuați funcții în baza de date, performanța aplicațiilor poate crește.







Procedura de mai jos oferă o structură de apel la nivel înalt pentru funcția de bază de date definită de utilizator. Următorul exemplu detaliază pașii din această procedură.

Apelarea funcțiilor definite de utilizator definite în baza de date.

Creați o funcție personalizată în baza de date.

Pentru mai multe informații despre crearea funcții definite de utilizator în SQL Server, a se vedea. A se vedea CREATE FUNCTION (Transact-SQL).

Declarați funcția în limba SSDL în fișierul EDMX. Numele funcției trebuie să se potrivească cu numele funcției declarate în baza de date.







Pentru informații suplimentare, consultați Elementul de funcții (SSDL).

Adăugați metoda corespunzătoare clasei în codul de aplicare și se aplică EdmFunctionAttribute la această metodă. Rețineți că parametrii și atributul functionName NamespaceName sunt numele spațiului de nume al modelului conceptual și numele funcției modelului conceptual, respectiv. Când rezolvați numele funcției pentru LINQ, cazul este sensibil la minuscule.

Apelați metoda în interogarea LINQ la entități.

Următorul exemplu arată procedura de apel funcțiile de bază de date de utilizare de LINQ interogare către entități. În acest exemplu, se folosește modelul Școală. Pentru mai multe informații despre modele, consultați Școala. Secțiuni Crearea Scoala Sample Baza de date și generarea School .edmx fișiere.

Următorul cod adaugă funcția AvgStudentGrade la baza de date eșantion.

Pașii pentru a apela funcția de bază de date definită de utilizator sunt aceleași, indiferent de serverul de bază de date. Cu toate acestea, următorul cod este conceput special pentru a crea o funcție într-o bază de date SQL Server. Codul pentru crearea unei funcții personalizate pe alte servere de baze de date poate fi diferit.







Trimiteți-le prietenilor: