C# 无法访问临时表.NET Core

C# 无法访问临时表.NET Core,c#,sql,sql-server,.net-core,azure-sql-database,C#,Sql,Sql Server,.net Core,Azure Sql Database,我正在创建临时表: var sql = $@" CREATE TABLE #tempImport (Year datetime NULL, Spend decimal (19, 5) NULL, UserId int NULL, Product nvarchar(255) NULL, Margin decimal (19, 5) NULL, ClientId int NOT NULL, Id int IDENTITY(1,1)

我正在创建临时表:

 var sql = $@"
          CREATE TABLE #tempImport (Year datetime NULL,
            Spend decimal (19, 5) NULL, UserId int NULL, Product nvarchar(255) NULL, Margin decimal (19, 5) NULL,
            ClientId int NOT NULL, Id int IDENTITY(1,1) NOT NULL);";
然后我喜欢:

var-sqlConn=new-SqlConnection();
sqlConn.ConnectionString=conn;
使用(var连接=新的SqlConnection(conn))
{
使用(SqlCommand=newsqlcommand(“,connection))
{
尝试
{
connection.Open();
//在数据库上创建临时表
command.CommandText=sql;
command.ExecuteNonQuery();
//批量插入临时表
使用(SqlBulkCopy bulkcopy=newsqlbulkcopy(conn))
{
bulkcopy.BulkCopyTimeout=660;
bulkcopy.DestinationTableName=“#tempImport”;
bulkcopy.WriteToServer(读卡器);
bulkcopy.Close();
}
//更新目标表并删除临时表
command.CommandText=mergeScript;
command.ExecuteNonQuery();
}
捕获(例外情况除外)
{
//正确处理异常
}
最后
{
connection.Close();
}
}
但是,我在
bulkcopy.WriteToServer(读卡器);
上遇到异常:
System.invalidoOperationException:无法访问目标表“#tempinort”。
--->System.Data.SqlClient.SqlException(0x80131904):无效的对象名称“#tempImport”。


为什么会这样?我想我找到的所有示例都是这样使用的,

它的本地临时表和
SqlBulkCopy
是不同的连接,所以直到那时表才消失。要么你必须使用相同的连接,要么你可以使用
创建全局临时表,但你以后必须删除它。

我认为它的本地临时表而BulkCopy是不同的连接,所以表在此之前将消失。您可以使用相同的连接,也可以使用##创建全局临时表,但以后必须将其删除