我已经在谷歌上搜索了一段时间,但我没有发现任何关于DbContext.SqlQuery
和ObjectContext.ExecuteFunction
之间差异的有用信息。我目前使用的是.SqlQuery
,但我的同事正在使用.ExecuteFunction
,所以我很好奇为什么要使用其中一个而不是另一个。
一个比另一个有什么优点/缺点吗?或者只是关于偏好?
除了使用参数调用存储过程并返回单个对象或对象列表之外,没有任何特定的要求。没什么新奇的。
谢谢。
ObjectContext是EF4-EF6中的基础API。当引入EF 4.1时,新的DbContext API是在ObjectContext API之上分层的。
当EF被重写以制作EF核心时,DbContext API成为主要/唯一的API,而ObjectContext没有被提前。
因此,在ether API工作良好的情况下,您可能应该支持DbContext API与EF Core的最终兼容性。