DbContext.Database.SqlQuery vs ObjectContext.ExecuteFunction
我发现 DbContext.SqlQuery
与 ObjectContext.ExecuteFunction
之间的区别有用 . 我目前正在使用 .SqlQuery
,但我的同事正在使用 .ExecuteFunction
,所以很好奇为什么会使用 .ExecuteFunction
.
是否有任何优点/缺点调用一个优先于另一个或仅仅是偏好?
除了使用参数调用存储过程并返回单个或列表对象之外,没有特定要求 . 没有什么花哨 .
谢谢 .
2 years ago
ObjectContext是EF4 - EF6中的基础API . 在引入EF 4.1时,较新的DbContext API在ObjectContext API之上进行了分层 .
当重写EF以生成EF Core时,DbContext API成为主要/唯一的API,并且没有提出ObjectContext .
因此,在ether API运行良好的情况下,您可能应该支持DbContext API以最终与EF Core兼容 .