模型定義函式

模型定義函式 (Model-defined Function) 是概念模型中定義的函式。 模型定義函式的本體以 Entity SQL 表示,可讓該函式獨立於資料來源中支援的規則或語言來表示。

模型定義函式的定義包含下列資訊:

  • 函式名稱。 (必要項)

  • 傳回值的型別。 (選擇性)

    注意

    若未指定任何傳回型別,則傳回值為 void。

  • 參數資訊。 (選擇性)

  • 定義函式主體的 Entity SQL 運算式。

請注意,模型定義函式不支援輸出參數。 有此限制後才能夠撰寫模型定義函式。

範例

下圖顯示包含三種實體類型 (BookPublisherAuthor) 的概念模型。

Screenshot that shows a model with published date.

ADO.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>

另請參閱