Elemento Parameter (CSDL)
L'elemento Parameter in Conceptual Schema Definition Language (CSDL) può essere un elemento figlio dell'elemento FunctionImport o dell'elemento Function.
Applicazione dell'elemento FunctionImport
Un elemento Parameter (come un figlio dell'elemento FunctionImport ) viene utilizzato per definire parametri di input e di output per le importazioni di funzioni dichiarate in CSDL.
L'elemento Parameter può includere i seguenti elementi figlio (nell'ordine elencato):
Documentation (zero elementi o un elemento consentito)
Elementi Annotation (zero o più elementi consentiti)
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Parameter.
Nome attributo | È obbligatorio | Valore |
---|---|---|
Name |
Sì |
Nome del parametro. |
Type |
Sì |
Tipo del parametro. Il valore deve essere un EDMSimpleType o un tipo complesso che si trova nell'ambito del modello. Per ulteriori informazioni, vedere Tipi del modello concettuale. |
Mode |
No |
In, Out o InOut a seconda che il parametro sia un parametro di input, di output o di input/output. |
MaxLength |
No |
Lunghezza massima consentita del parametro. |
Precision |
No |
Precisione del parametro. |
Scale |
No |
Scala del parametro. |
![]() |
---|
È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento Parameter.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali. |
Esempio
Nell'esempio riportato di seguito viene mostrato un elemento FunctionImport con un elemento Parameter figlio. La funzione accetta un parametro di input e restituisce una raccolta di tipi di entità.
<FunctionImport Name="GetStudentGrades"
EntitySet="StudentGrade"
ReturnType="Collection(SchoolModel.StudentGrade)">
<Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>
Applicazione dell'elemento Function
Un elemento Parameter (come un figlio dell'elemento Function ) definisce i parametri per funzioni che sono definite o dichiarate in un modello concettuale.
L'elemento Parameter può includere i seguenti elementi figlio (nell'ordine elencato):
Documentation (zero o un elemento)
CollectionType (zero o un elemento)
ReferenceType (zero o un elemento)
RowType (zero o un elemento)
![]() |
---|
Solo uno degli elementi CollectionType, ReferenceType o RowType può essere un elemento figlio di un elemento Property. |
- Elementi Annotation (zero o più elementi consentiti)
![]() |
---|
Gli elementi Annotation devono apparire dopo tutti gli altri elementi figlio.L'utilizzo di elementi Annotation è consentito solo in modelli concettuali per applicazioni che sono destinate a .NET Framework versione 4 o successive.Lo spazio dei nomi XML per tali modelli è https://schemas.microsoft.com/ado/2008/09/edm. |
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Parameter.
Nome attributo | È obbligatorio | Valore |
---|---|---|
Name |
Sì |
Nome del parametro. |
Type |
No |
Tipo del parametro. Un parametro può essere uno qualsiasi dei seguenti tipi (o raccolte di questi tipi):
Per ulteriori informazioni su questi tipi, vedere Tipi del modello concettuale. |
Nullable |
No |
True (valore predefinito) o False a seconda che la proprietà possa disporre o meno del valore null. |
DefaultValue |
No |
Valore predefinito della proprietà. |
MaxLength |
No |
Lunghezza massima del valore della proprietà. |
FixedLength |
No |
True o False a seconda che il valore della proprietà sia archiviato o meno come una stringa a lunghezza fissa. |
Precision |
No |
Precisione del valore della proprietà. |
Scale |
No |
Scala del valore della proprietà. |
Unicode |
No |
True o False a seconda che il valore della proprietà sia archiviato o meno come una stringa Unicode. |
Collation |
No |
Stringa che specifica la sequenza di confronto da utilizzare nell'origine dati. |
![]() |
---|
È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento Parameter.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali. |
Esempio
Nell'esempio seguente viene mostrato un elemento Function che utilizza un elemento figlio Parameter per definire un parametro della funzione.
<Function Name="GetYearsEmployed" ReturnType="Edm.Int32">
<Parameter Name="Instructor" Type="SchoolModel.Person" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(cast(Instructor.HireDate as DateTime))
</DefiningExpression>
</Function>
Vedere anche
Concetti
Panoramica su Entity Framework
Specifiche CSDL
Elemento EntityContainer (CSDL)
Altre risorse
Specifiche CSDL, SSDL e MSL
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure
How to: Define Custom Functions in the Conceptual Model