다음을 통해 공유


모델 정의 함수

모델 정의 함수는 개념적 모델에 정의된 함수입니다. 모델 정의 함수의 본문은 엔터티 SQL로 표현되며, 이를 통해 데이터 원본에서 지원되는 규칙 또는 언어와 독립적으로 함수를 표현할 수 있습니다.

모델 정의 함수에 대한 정의에는 다음 정보가 포함됩니다.

  • 함수의 이름입니다. (필수)

  • 반환 값의 형식입니다. (선택 사항)

    비고

    반환 형식이 지정되지 않은 경우 반환 값은 void입니다.

  • 매개 변수 정보입니다. (선택 사항)

  • 함수의 본문을 정의하는 Entity SQL 식입니다.

모델 정의 함수는 출력 매개 변수를 지원하지 않습니다. 이 제한은 모델 정의 함수를 작성할 수 있도록 합니다.

예시

아래 다이어그램은 세 가지 Book엔터티 형식( , PublisherAuthor)이 있는 개념적 모델을 보여줍니다.

게시된 날짜가 있는 모델을 보여 주는 스크린샷

ADO.NET Entity FrameworkCSDL(개념 스키마 정의 언어)이라는 DSL(도메인별 언어)을 사용하여 개념 모델을 정의합니다. 다음 CSDL은 위에 표시된 다이어그램에서 Book 인스턴스가 게시된 이후 몇 년이 지났는지를 반환하는 개념 모델의 함수를 정의합니다.

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

참고하십시오