Share via


DefiningExpression (Elemento) (CSDL)

El elemento DefiningExpression en el lenguaje de definición de esquemas conceptuales (CSDL) contiene una expresión Entity SQL que define una función en el modelo conceptual. Para obtener más información, vea Function (Elemento) (CSDL) y Lenguaje Entity SQL.

Dd489503.note(es-es,VS.100).gifNota:
Para fines de validación, un elemento DefiningExpression puede incluir un contenido arbitrario.Sin embargo, Entity Framework producirá una excepción en tiempo de ejecución si un elemento DefiningExpression no contiene Entity SQL válido.

Atributos aplicables

Se puede aplicar cualquier número de atributos de anotación (atributos XML personalizados) al elemento DefiningExpression. Sin embargo, es posible que los atributos personalizados no pertenezcan a ningún espacio de nombres XML reservado para CSDL. Dos atributos personalizados cualesquiera no pueden tener nombres completos idénticos.

Ejemplo

En el ejemplo siguiente se utiliza un elemento DefiningExpression para definir una función que devuelve el número de años transcurridos desde que se publicó un libro. El contenido del elemento DefiningExpression se escribe en Entity SQL .

<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

Información general de Entity Framework
Especificación CSDL
FunctionImport (Elemento) (CSDL)

Otros recursos

Especificaciones CSDL, SSDL y MSL
ADO.NET Entity Data Model Tools