2010-06-08 107 views
1

我有以下存储过程的LINQ to SQL自动生成类型的存储过程

ALTER PROCEDURE [dbo].Test 
AS 
BEGIN 
    CREATE TABLE ##table 
    (
     ID1 int, 
     ID2 int 
    ) 

    DECLARE @query varchar(MAX); 

    INSERT INTO ##table VALUES(1, 1); 

    SELECT * FROM ##table; 
END 

我尝试从C#代码中使用它。我使用LINQ to SQL作为O/RM。当我将过程添加到DataBaseContext时,它说它不能计算出此过程的返回值。如何修改存储过程,以便我可以在LINQ to SQL中使用它。

注意:我需要全球模板表

回答

0

尝试识别您选择的列。

SELECT ID1, ID2 FROM ##table; 
+1

它不会帮助=( – StuffHappens 2010-06-08 13:46:13

+0

检查此链接http://msdn.microsoft.com/en-us/library/bb384575.aspx – Jim 2010-06-08 14:39:00

5

对于MSSQL在处理开始时使用SET FMTONLY OFF;。告诉SQL运行存储过程不要做出假设,这是我学会在使用临时表时学习LINQ的唯一方法。

+0

好吧,你的答案是黄金!工作就像一个魅力对我来说:-) – 2015-10-01 00:07:53