共用方式為


DefiningExpression 項目 (CSDL)

概念結構定義語言 (CSDL) 中的 DefiningExpression 項目包含一個Entity SQL 運算式以定義概念模型中的函式。 如需詳細資訊,請參閱 Function 項目 (CSDL)Entity SQL 語言

Dd489503.note(zh-tw,VS.100).gif注意:
若是為了進行驗證,DefiningExpression 項目可以包含任意內容。不過,如果 DefiningExpression 項目不包含有效的 Entity SQL ,Entity Framework 將擲回例外狀況。

適用屬性

可以將任何數量的註釋屬性 (自訂 XML 屬性) 套用至 DefiningExpression 項目。 不過,自訂屬性不可屬於任何 XML 命名空間,這是保留供 CSDL 使用。 任兩個自訂屬性的完整名稱不能相同。

範例

下列範例會使用 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