C# 什么是';EDM功能';对于

C# 什么是';EDM功能';对于,c#,linq,entity-framework,linq-to-entities,clr,C#,Linq,Entity Framework,Linq To Entities,Clr,我无意中看到了System.Data.Common.CommandTrees.ExpressionBuilder.edmfonments静态类,该类包含System.Data.Common.CommandTrees.DbExpression上的一组扩展方法,如AddDays、Concat等,。。。。它返回System.Data.Common.CommandTrees.DbFunctionExpression作为返回类型,此静态方法如果需要参数,它们只接受System.Data.Common.Co

我无意中看到了
System.Data.Common.CommandTrees.ExpressionBuilder.edmfonments
静态类,该类包含
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.edmfortions
,以使用其扩展方法,

我的问题是:

  • 这些扩展是做什么的
  • 我们如何以及在何处使用这种扩展方法
  • 是否将这些扩展方法映射到
    规范函数
    ,并作为辅助方法用于
    Linq
    ,如
    System.Data.Objects.EntityFunctions
    的方法或
    System.Data.Objects.SqlClient.SqlFunctions
    的方法
然而,有一个名为
System.Data.Metadata.Edm.EdmFunction
的属性,通过该属性,您可以创建
CLR
函数,并将它们映射到创建的
模型定义函数
,以便在
Linq
中使用

  • 这两者之间有关系吗

你能附上样品吗?或链接到任何文档?

这些方法不适用于一般用途,您可以继续在客户端代码中使用
SqlFunctions
EntityFunctions
。它们是可以在任意提供程序上执行的规范函数的库存实现。Microsoft包括XML、BCL集合和实体SQL的提供程序。其他人可以为自己的数据库引擎或ORM创建一个提供者


例如,在执行查询理解时,从到的映射会动态发生。

这些方法不适用于一般使用,您可以继续在客户端代码中使用
SqlFunctions
EntityFunctions
。它们是可以在任意提供程序上执行的规范函数的库存实现。Microsoft包括XML、BCL集合和实体SQL的提供程序。其他人可以为自己的数据库引擎或ORM创建一个提供者

例如,从到的映射在执行查询理解时动态发生