繁体   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