首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用实体框架执行存储过程时删除sp_executesql

问使用实体框架执行存储过程时删除sp_executesql
EN

Stack Overflow用户
提问于 2016-05-19 14:51:45
回答 1查看 1K关注 0票数 0

当我使用实体框架执行存储过程时,它将生成以下语法:

代码语言:javascript
复制
exec sp_executesql N'EXEC test @CityIds',N'@CityIds nvarchar(1)',@CityIds=N'1'

我们的DBA已经引起了对这类查询的关注,并希望摆脱sp_executesql。

查询内容应为:

代码语言:javascript
复制
exec test @CityIds=1

在实体框架中有什么不同的方法来实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-24 13:09:56

在实体框架中使用sp_executesql /ADO.NET is intentional.It被观察到,有时在生成的intentional.It中,EF在直接执行查询和有时使用sp_executesql.The sp_executesql之间起着非常决定性的作用,当客户端参数化帮助重新使用一个参数化编译计划时。当没有指定参数时,Server将尝试进行自动参数化,以帮助查询计划的重用。

有关查询参数化和执行模式的更多信息

希望下面的线程将帮助您如何使用EXEC而不是sp_executesql与EF。

EXECUTESQL作为对象而不是过程名

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

https://stackoverflow.com/questions/37326884

复制
相关文章

相似问题

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