Share via


Elemento Function (SSDL)

La definición del elemento Function en el lenguaje de definición de esquemas de almacenamiento (SSDL) en el Entity Data Model (EDM) especifica que un procedimiento almacenado existe en la base de datos. Los elementos de parámetro anidados especifican los nombres de los parámetros y sus tipos de datos. Estas definiciones identifican un procedimiento almacenado que puede estar asignado a una entidad y sus propiedades.

En la versión actual de Entity Framework, el atributo IsComposable de una declaración de función que representa un procedimiento almacenado debe estar establecido en false. Este valor indica que los resultados devueltos por el procedimiento no se pueden utilizar en la cláusula FROM de otras instrucciones SQL.

Para consultar un tema de procedimientos acerca de los procedimientos almacenados, vea Cómo definir un modelo con un procedimiento almacenado (Entity Framework).

En el ejemplo siguiente se muestran los metadatos de SSDL para la función SUBSTRING.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="Northwind" Alias="Self" 
xmlns:edm="https://schemas.microsoft.com/ado/2006/04/edm/ssdl"
   xmlns="https://schemas.microsoft.com/ado/2006/04/edm/ssdl">

   <! Other declarations.-->
  <Function Name="SUBSTRING" ReturnType="varchar" BuiltIn="true">
    <Documentation> 
       <Summary>Function accepts a source string, the starting position
         and the length of the sub-string to be extracted</Summary> 
       <LongDescription>Long Description if needed. </LongDescription> 
    </Documentation>

    <Parameter Name="str" Mode="In" Type="varchar" />
    <Parameter Name="start" Mode="In" Type="int">
      <Documentation> 
        <Summary>The starting position of the substring</Summary> 
        <LongDescription>Long Description.</LongDescription> 
      </Documentation>
    </Parameter>

    <Parameter Name="length" Mode="In" Type="int" />
  </Function>

</Schema>

Las declaraciones de SSDL siguientes especifican tres procedimientos almacenados que se usan para crear, actualizar y eliminar las entidades y los datos que contienen: CreateVendor, UpdateVendor y DeleteVendor.

<Function Name="CreateVendor" IsComposable="false" Schema="dbo">    
    <Parameter Name="ID" Type="int" />    
    <Parameter Name="Name" Type="nvarchar" />    
    <Parameter Name="Description" Type="nvarchar(max)" />    
  </Function>

  <Function Name="UpdateVendor" IsComposable="false" Schema="dbo">
    <Parameter Name="ID" Type="int" />
    <Parameter Name="Name" Type="nvarchar" />
    <Parameter Name="Description" Type="nvarchar(max)" />
  </Function>

  <Function Name="DeleteVendor" IsComposable="false" Schema="dbo">
    <Parameter Name="ID" Type="int" />    
  </Function>
</Schema>

Vea también

Tareas

Cómo definir un modelo con un procedimiento almacenado (Entity Framework)

Conceptos

Compatibilidad con los procedimientos almacenados (Entity Framework)