DbContext.Database.SqlQuery与ObjectContext.ExecuteFunction

时间:2018-12-10 10:20:45

标签: c# sql-server entity-framework

我已经对此进行了一段时间的搜索,但是对于SELECT the_geom, string_agg(profile_id || ', ' || upper_dept, || ', ' ||lower_dept, || ', ' ||phaq_val_1, '; ' ORDER BY upper_dept) AS pH_info FROM ph_agua_1 GROUP BY the_geom DbContext.SqlQuery之间的区别,我没有发现任何有用的东西。我目前正在使用ObjectContext.ExecuteFunction,但我的同事正在使用.SqlQuery,所以很好奇为什么一个人要比另一个人使用。

调用一个相对于另一个是否有优点/缺点,或者仅仅是关于首选项?

没有特殊要求,只不过存储过程使用参数调用并返回单个或对象列表。没什么。

谢谢。

1 个答案:

答案 0 :(得分:1)

ObjectContext是EF4-EF6中的基础API。引入EF 4.1时,较新的DbContext API位于ObjectContext API之上。

重写EF以使其成为EF Core时,DbContext API成为主要/唯一的API,而ObjectContext没有提出。

因此,在以太API可以很好运行的地方,您可能应该选择DbContext API,以最终与EF Core兼容。