[英]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.