Compartilhar via


função definida por modelo

Uma função definida por modelo é uma função que é definida em um modelo conceitual. O corpo de uma função definida por modelo é expresso em Entity SQL, que permite que a função seja expressa independentemente das regras ou das linguagens com suporte na fonte de dados.

Uma definição de uma função definida modelo contém as informações a seguir:

  • Um nome de função. (Obrigatória)

  • O tipo do valor de retorno. (Opcional)

    Observação

    Se nenhum tipo de retorno for especificado, o valor de retorno é vago.

  • Informações de parâmetro. (Opcional)

  • Uma expressão Entity SQL que define o corpo da função.

Observe que as funções definidas modelo não suportam parâmetros de saída. Essa limitação é no lugar de modo que as funções definidas modelo podem ser compostos.

Exemplo

O diagrama a seguir mostra um modelo conceitual com três tipos de entidade: Book, Publisher, e Author.

Screenshot that shows a model with published date.

O Entity Framework do ADO.NET usa uma DSL (linguagem específica de domínio) chamada CSDL (linguagem de definição de esquema conceitual) para definir modelos conceituais. CSDL seguir define uma função no modelo conceitual que retorna os números de anos como uma instância de Book (no diagrama anterior) foi publicado.

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

Confira também