在我的SP中,我混合使用静态SQL和动态SQL:

declare @result table
(
 RowNum bigint,
 Id_and_Title varchar(max),
 DaysLeft int,
 cat_id int
);

然后,在动态SQL中,将结果插入到该表中:
DECLARE @TSQL NVARCHAR(max);
SET @TSQL = ......

(我使用print @TSQL,因此我确定查询正常)
insert into @result
EXECUTE sp_executesql @TSQL

select * from @result

但是,当我尝试在VS 2010 Ultimate中导入taht SP时,会看到标题中提到的消息。是什么原因造成的?很多次我都发生了该错误,但我仍然不知道是什么原因导致的

最佳答案

尝试将以下行添加到存储过程的开头:SET FMTONLY OFF导入完成后,可以将其删除。

它在this article中提到了(很长一段路要走),它对我有用,尽管在我高度依赖存储过程的时代,我最终回到了ADO.NET。请记住,如果您的列根据动态SQL更改,则实体模型将中断。

09-27 12:46