模型定義函式 (實體資料模型)
「模型定義函式」(Model-defined Function) 是概念模型中定義的函式。 模型定義函式的本體以 Entity SQL 表示,可讓該函式獨立於資料來源中支援的規則或語言來表示。
模型定義函式的定義包含下列資訊:
函式名稱。 (必要項)
傳回值的型別。 (選擇項)
注意: 若未指定任何傳回型別,則傳回值為 void。 參數資訊。 (選擇項)
定義函式主體的 Entity SQL 運算式。
請注意,模型定義函式不支援輸出參數。 有此限制後才能夠撰寫模型定義函式。
範例
下圖顯示包含三種實體類型 (Book、Publisher 和 Author) 的概念模型。
bodyADO.NET Entity Framework 會使用稱為概念結構定義語言 (CSDL) 的特定定義域語言 (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>