Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# sqlbulkcopy插入后,表对象为空_C#_Sql_.net_Sqlbulkcopy - Fatal编程技术网

C# sqlbulkcopy插入后,表对象为空

C# sqlbulkcopy插入后,表对象为空,c#,sql,.net,sqlbulkcopy,C#,Sql,.net,Sqlbulkcopy,我正在尝试使用sqlBulkCopy将数据插入数据库表。如果插入了数据,则我希望查询我的数据,但当我引用更新的表时,我遇到错误:object为null。我可以使用实体结构查看此表,但此对象的值为空: using (var cn = new AdventureWorksEntities()) { cn.Database.ExecuteSqlCommand("TRUNCATE TABLE tmpTable"); sqlCon

我正在尝试使用sqlBulkCopy将数据插入数据库表。如果插入了数据,则我希望查询我的数据,但当我引用更新的表时,我遇到错误:object为null。我可以使用实体结构查看此表,但此对象的值为空:

      using (var cn = new AdventureWorksEntities())
        {
            cn.Database.ExecuteSqlCommand("TRUNCATE TABLE tmpTable");
            sqlConnectionString = cn.Database.Connection.ConnectionString;
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
          {
            bulkCopy.DestinationTableName = "dbo.tmpTable";
            try
            {
                // Write from the source to the destination.
                bulkCopy.WriteToServer(table);
            }
            catch (Exception ex)
            {
                //ErrorHandler
            }
          }
        // Now I am trying to get data from the updated table:

            var uniqueItemIDs = cn.tmpTable.Select(m => m.ItemID).Distinct();
        // And from the line above I am getting the Error: tmpTable is null.
        }

其他表(未使用SqlBulkCopy更新)很好,可以访问。有人能帮忙吗?

我认为问题在于您需要刷新数据库上下文。您可以在插入之前打开数据库上下文。

您可以在SqlBulkCopy文件之前访问
cn.tmpTable
?我认为该表不是EF(?)数据上下文的一部分。是的,我可以。我也可以从edmx图中看到它。