簡體   English   中英

“ EdmFunctions”有什么用?

[英]what are 'EdmFunctions' for?

我偶然看到了System.Data.Common.CommandTrees.ExpressionBuilder.EdmFunctions靜態類,該類包含System.Data.Common.CommandTrees.DbExpression上的一組擴展方法,例如AddDays,Concat等System.Data.Common.CommandTrees.DbFunctionExpression作為返回類型,此靜態方法如果需要一個參數,則僅接受System.Data.Common.CommandTrees.DbExpression類型,此外我還要查看System.Data.Common.CommandTrees.DbExpression我看到了這個類是抽象的,並且可以通過其靜態成員創建System.Data.Common.CommandTrees.DbExpression ,並將其發送到System.Data.Common.CommandTrees.ExpressionBuilder.EdmFunctions以使用其擴展方法,

我的問題是:

  • 這些擴展是做什么用的?
  • 我們如何以及在哪里可以使用這種擴展方法?
  • 這些擴展方法是否已映射到canonical functions並且可以作為在Linq使用的輔助方法,例如System.Data.Objects.EntityFunctions的方法或System.Data.Objects.SqlClient.SqlFunctions的方法?

而有一個名稱為System.Data.Metadata.Edm.EdmFunction的屬性,通過此屬性,您可以創建CLR函數並將其映射到創建的model-defined functions ,以供在Linq使用,

  • 這些之間有關系嗎?

你能附上樣品嗎? 或鏈接到任何文獻資料?

這些方法不適合一般使用,您可以繼續在客戶端代碼中使用SqlFunctionsEntityFunctions 它們是可以在任意提供程序上執行的規范功能的常規實現。 Microsoft包括XML,BCL集合和Entity SQL的提供程序。 其他人可以為他們自己的dbase引擎或ORM創建提供程序。

當執行查詢理解時,從EntityFunctions.AddDays()EdmFunctions.AddDays()的映射會動態發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM