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ı)
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
, Publisher
ve Author
.
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>