sql-server-2005 - 是什么原因导致EF Code First和SQL 2005中的 "Incorrect syntax near <stored procedure name>"?

标签 sql-server-2005 entity-framework stored-procedures ef-code-first code-first

我发现的System.Data.Entity.Database.SqlQuery方法的示例似乎可以在SQL 2008 R2上很好地工作,但似乎不能与SQL 2005一起工作。

此调用将与SQL 2008 R2一起使用:

var myEntities = dbContext.Database.SqlQuery<MyEntity>("GetDataFromMySp @EntityId = {0}", entityId);

但是,在SQL 2005中,此语句将引发SqlException,并显示错误消息“'GetDataFromMySp'附近的语法不正确”。

最佳答案

@Dan本人发现的解决方案(由于重复而无法发布)

我发现此问题的解决方案只是将关键字“EXEC”添加到查询中:

var myEntities = dbContext.Database.SqlQuery<MyEntity>("EXEC GetDataFromMySp @EntityId = {0}", entityId);

此解决方案解决了SQL Server 2005的问题,并且仍然可以与SQL Server 2008 R2一起使用。

关于sql-server-2005 - 是什么原因导致EF Code First和SQL 2005中的 "Incorrect syntax near <stored procedure name>"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403930/

相关文章:

sql-server-2005 - 如何基于来自不同服务器的表创建 View ?

entity-framework - Entity Framework Core - 以通用方式检索除少数列之外的所有列

c# - EF 6 - EntityType 在运行 Enable-Migrations 时没有定义键

sql-server - 查询运行速度快,但存储过程运行速度慢

nhibernate - 使用带有输出参数的 NHibernate

sql-server - 批量插入文件路径作为存储过程参数

sql - 用于连接 sql 表的 CASE

sql-server-2005 - 在 Reporting Services 订阅的文件名中输入的变量

SQL Server : how to get data from lowest hierarchy in hierarchy table?

c# - 在 Entity Framework 中排除所有(启用延迟加载)