Aracılığıyla paylaş


model-defined function

Model tanımlı işlev, kavramsal modelde tanımlanan bir işlevdir. Model tanımlı bir işlevin gövdesi Entity SQL ile ifade edilir ve bu da işlevin veri kaynağında desteklenen kurallardan veya dillerden bağımsız olarak ifade edilmesini sağlar.

Model tanımlı bir işlevin tanımı aşağıdaki bilgileri içerir:

  • İşlev adı. (Gerekli)

  • Dönüş değerinin türü. (İsteğe bağlı)

    Not

    Hiçbir dönüş türü belirtilmezse, dönüş değeri geçersiz olur.

  • Parametre bilgileri. (İsteğe bağlı)

  • İşlevin gövdesini tanımlayan bir Entity SQL ifadesi.

Model tanımlı işlevlerin çıkış parametrelerini desteklemediğini unutmayın. Model tanımlı işlevlerin oluşturulabilmesi için bu kısıtlama geçerlidir.

Örnek

Aşağıdaki diyagramda üç varlık türüne sahip kavramsal bir model gösterilmektedir: Book, Publisherve Author.

Screenshot that shows a model with published date.

ADO.NET Entity Framework, kavramsal modelleri tanımlamak için kavramsal şema tanım dili (CSDL) olarak adlandırılan etki alanına özgü bir dil (DSL) kullanır. Aşağıdaki CSDL, kavramsal modelde bir örneğinin (yukarıdaki diyagramda) yayımlanmasının ardından yılların sayısını döndüren bir Book işlevi tanımlar.

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

Ayrıca bkz.