Compartir a través de


función definida por el modelo

Una función definida por el modelo es una función que se define en un modelo conceptual. El cuerpo de una función definida por el modelo se expresa en Entity SQL, lo que permite que la función se exprese de forma independiente de las reglas o lenguajes admitidos en el origen de datos.

La definición para una función definida por el modelo contiene la información siguiente:

  • Un nombre de función. (Requerido)

  • El tipo del valor devuelto. (Opcional)

    Nota

    Si no se especifica ningún tipo de valor devuelto, este es void.

  • Información de parámetros. (Opcional)

  • Una expresión de Entity SQL que define el cuerpo de la función.

Tenga en cuenta que las funciones definidas por el modelo no admiten parámetros de salida. Esta restricción se aplica para que las funciones definidas por el modelo puedan ser compuestas.

Ejemplo

El diagrama siguiente muestra un modelo conceptual con tres tipos de entidades: Book, Publisher y Author.

Screenshot that shows a model with published date.

ADO.NET Entity Framework usa un lenguaje específico de dominio (DSL) denominado lenguaje de definición de esquemas conceptuales (CSDL) para definir los modelos conceptuales. El código CSDL siguiente define una función en el modelo conceptual que devuelve el número de años transcurridos desde la publicación de una instancia de Book (en el diagrama anterior).

<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
      <Parameter Name="book" Type="BooksModel.Book" />
      <DefiningExpression>
        Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
      </DefiningExpression>
    </Function>

Consulte también