모델 정의 함수
모델 정의 함수는 개념적 모델에 정의된 함수입니다. 모델 정의 함수의 본문은 데이터 소스에서 지원되는 규칙이나 언어에 독립적으로 함수를 표현할 수 있는 Entity SQL로 표현됩니다.
모델 정의 함수 정의에는 다음 정보가 들어 있습니다.
함수의 이름입니다. (필수)
반환 값의 형식입니다. (선택 사항)
참고 항목
반환 형식을 지정하지 않으면 반환 값은 void입니다.
매개 변수 정보 (선택 사항)
함수의 본문을 정의하는 Entity SQL 식
모델 정의 함수는 출력 매개 변수를 지원하지 않습니다. 모델 정의 함수를 작성할 수 있도록 이러한 제한이 적용됩니다.
예시
다음 다이어그램에서는 세 가지 엔터티 형식 Book
, Publisher
및 Author
가 포함된 개념적 모델을 보여 줍니다.
ADO.NET Entity Framework는 CSDL(개념 스키마 정의 언어)이라는 DSL(Domain-Specific Language)을 사용하여 개념적 모델을 정의합니다. 다음 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>