我发现的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.