C# LINQ到SQL,存储过程不';不要创建临时表

C# LINQ到SQL,存储过程不';不要创建临时表,c#,sql,linq,stored-procedures,temp-tables,C#,Sql,Linq,Stored Procedures,Temp Tables,我正在通过Web服务编写聊天代码,运行SQL Express服务器。 我在VisualStudio2010上使用C# 我有一个存储过程,它应该创建一个临时表。 当我在ManagementStudio中执行该过程时,它会创建一个临时表。 但是,当我在LINQtoSQL上执行该过程时,它会进入该过程,使所有内容都正确无误,但不会创建诱人的结果 下面是SQL代码: BEGIN SET NOCOUNT ON; DECLARE @SQL NVARCHAR(MAX)

我正在通过Web服务编写聊天代码,运行SQL Express服务器。 我在VisualStudio2010上使用C#

我有一个存储过程,它应该创建一个临时表。 当我在ManagementStudio中执行该过程时,它会创建一个临时表。 但是,当我在LINQtoSQL上执行该过程时,它会进入该过程,使所有内容都正确无误,但不会创建诱人的结果

下面是SQL代码:

    BEGIN
      SET NOCOUNT ON;
      DECLARE @SQL NVARCHAR(MAX)
      DECLARE @ResultCode INT --1 -> good; 0 -> Fail

      SELECT @ResultCode = 1

      SET @SQL = 'CREATE Table ##' + @i_Tablename + '(
                      ID INT IDENTITY(1,1) PRIMARY KEY,
          Username VARCHAR(25) NOT NULL,
          Message VARCHAR(MAX) NOT NULL,
          Font VARCHAR(100) NOT NULL,
          ForeColor INT NOT NULL,
          BGColor INT NOT NULL,
          Date DATETIME DEFAULT GETDATE())'
      EXECUTE sp_sqlexec @SQL

      INSERT INTO Chatlist VALUES(@i_Tablename)

      IF @@error <> 0
      BEGIN
        SELECT @ResultCode = 0
      END
      RETURN @ResultCode
    END
正在执行的过程中,resultcode是ok的,它在表Chatlist中进行插入,但没有任何诱惑


我猜想SQL Server正在删除您的表。如果你想从其他地方引用它,你不应该将它设为临时。

我在Management Studio中创建了诱惑,然后断开连接并重新连接,诱惑仍然存在…@Fürstdeswahnsins:SSMS通常会创建两个到DB的连接。一个用于左侧的树视图,另一个用于查询本身。也许这就解释了为什么表没有被删除?哦,我不知道。是的,这解释了为什么没有删除该表。
DB.sp_CreateTempTable(Chatname);