다음을 통해 공유


DefiningExpression 요소(CSDL)

CSDL(개념 스키마 정의 언어)의 DefiningExpression 요소에는 개념적 모델의 함수를 정의하는 Entity SQL 식이 포함되어 있습니다. 자세한 내용은 Function 요소(CSDL)Entity SQL 언어를 참조하십시오.

Dd489503.note(ko-kr,VS.100).gif참고:
유효성 검사를 위해 DefiningExpression 요소에 임의의 콘텐츠를 포함할 수 있습니다.그러나 DefiningExpression 요소에 유효한 Entity SQL 이 없으면 Entity Framework 가 런타임에 예외를 throw합니다.

적용 가능한 특성

주석 특성(사용자 지정 XML 특성)을 원하는 수만큼 DefiningExpression 요소에 적용할 수 있습니다. 그러나 사용자 지정 특성은 CSDL에 예약된 XML 네임스페이스에 속할 수 없습니다. 두 사용자 지정 특성의 정규화된 이름은 서로 같을 수 없습니다.

예제

다음 예제에서는 DefiningExpression 요소를 사용하여 책이 출판된 이후 지난 연도 수를 반환하는 함수를 정의합니다. DefiningExpression 요소의 콘텐츠는 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>

참고 항목

개념

Entity Framework 개요
CSDL 사양
FunctionImport 요소(CSDL)

기타 리소스

CSDL, SSDL 및 MSL 사양
ADO.NET Entity Data Model Tools