[英]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
使用,
你能附上樣品嗎? 或鏈接到任何文獻資料?
這些方法不適合一般使用,您可以繼續在客戶端代碼中使用SqlFunctions
或EntityFunctions
。 它們是可以在任意提供程序上執行的規范功能的常規實現。 Microsoft包括XML,BCL集合和Entity SQL的提供程序。 其他人可以為他們自己的dbase引擎或ORM創建提供程序。
當執行查詢理解時,從EntityFunctions.AddDays()
到EdmFunctions.AddDays()
的映射會動態發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.