首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SqlFunctions和EntityFunctions有什么区别?

SqlFunctions和EntityFunctions有什么区别?
EN

Stack Overflow用户
提问于 2013-03-26 20:40:04
回答 4查看 14K关注 0票数 19

有什么不同?都是用来在获取数据并存储到内存之前在SQL端执行函数吗?

P.S:

两者都在linq to entites中使用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-26 20:50:11

正如文档所述,EntityFunctions

提供了公共语言运行库方法,这些方法公开LINQ to Entities查询中的概念模型规范函数。有关规范函数的信息,请参见规范函数(实体SQL)。

where Canonical functions

所有数据提供程序都支持

,并且所有查询技术都可以使用它。规范函数不能由提供程序扩展。这些规范函数将被转换为提供程序的相应数据源功能。这允许跨数据源以通用形式表示函数调用。

SQLFunctions

提供了公共语言运行库方法,这些方法在LINQ to Entities查询中调用数据库中的函数。

因此,尽管这两组函数都被转换成原生SQL,但SQLFunctions是特定于SQL Server的,而EntityFunctions不是。

票数 17
EN

Stack Overflow用户

发布于 2013-03-26 20:52:35

当我读到它的时候。CLR将EntityFunctions函数转换为所有数据提供程序都支持“规范函数”。

但是SqlFunctions使得SQL Server来做这项工作,并且他们指定只为SQL Server。

For more information

票数 5
EN

Stack Overflow用户

发布于 2013-03-26 20:58:19

SqlFunctions是在EF4中引入的静态类,它位于程序集System.Data.Entity中。它包含一长串映射到SQL Server函数的方法,如Cos, DateAdd, DateDiff, DatePart, GetDate, Exp, Sign。可以在LINQ to Entities查询中调用这些静态函数。

EF4还引入了静态EntityFunctions类。这个类公开了概念模型的规范函数,可以在LINQ to Entities查询中使用。这些函数映射到System.Data.Metadata.Edm命名空间中的函数,并且它们仅在概念模型中可用。

有关详细信息,请单击here

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15637317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档