DbContext.Database.SqlQuery vs ObjectContext.ExecuteFunction

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DbContext.Database.SqlQuery vs ObjectContext.ExecuteFunction相关的知识,希望对你有一定的参考价值。

我一直在谷歌搜索一下,但我没有找到任何有用的DbContext.SqlQueryObjectContext.ExecuteFunction之间的差异。我目前正在使用.SqlQuery,但我的同事正在使用.ExecuteFunction,所以很好奇为什么一个用于另一个。

是否有任何优点/缺点称一个优于另一个或仅仅是偏好?

除了使用参数调用存储过程并返回单个或列表对象之外,没有特定要求。没有什么花哨。

谢谢。

答案

ObjectContext是EF4 - EF6中的基础API。在引入EF 4.1时,较新的DbContext API在ObjectContext API之上进行了分层。

当重写EF以生成EF Core时,DbContext API成为主要/唯一的API并且没有提出ObjectContext。

因此,在ether API运行良好的情况下,您可能应该支持DbContext API以最终与EF Core兼容。

以上是关于DbContext.Database.SqlQuery vs ObjectContext.ExecuteFunction的主要内容,如果未能解决你的问题,请参考以下文章