función definida por el modelo (Entity Data Model)

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:

  • El nombre de la función. (Necesario)

  • El tipo del valor devuelto. (Opcional)

    Ee382833.note(es-es,VS.100).gifNota:
    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 entidad: Book, Publisher y Author.

Modelar con fecha de publicación

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>

Vea también

Conceptos

Conceptos clave de Entity Data Model
Entity Data Model
Entity Data Model: Tipos de datos primitivos